实现代码
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
Person.prototype.introduce = function() {
return `我叫${this.name},今年${this.age}岁`;
};
应用场景
- 代码模块化与扩展:在一个大型项目中,
Person
类可能在基础模块中定义,而具体业务可能需要对其功能进行扩展。比如在用户管理模块中,需要对用户(Person
类实例)进行自我介绍的功能,就可以通过这种方式为 Person
类添加 introduce
方法,而不需要修改基础模块的代码,保持了模块的独立性和稳定性。
- 复用与定制化:当有多个相似的业务场景都用到
Person
类,但每个场景对 Person
的功能需求略有不同时。可以在不改变原有 Person
类结构的基础上,通过添加特定方法满足不同场景需求。例如在一个社交平台项目中,聊天模块和个人资料展示模块都使用 Person
类,聊天模块可能需要 introduce
方法用于打招呼,而展示模块可能需要其他方法,通过这种动态添加方法的方式实现定制化。