构造器模式
什么是构造器模式?它运用的场景是什么?
构造器就是用来构造对象的。本身有一个对象
js
let mondo = {
name: 'mondo',
age: 30,
work: '程序员'
}
但是我们想创建多个对象时,可以使用构造器
js
// 构造器
function User(name, age, work) {
this.name = name;
this.age = age;
this.work = work;
}
创建用户
js
let imondo = new User('imondo', 31, '打游戏');
用构造函数初始化对象,这个就叫做构造器模式。
在创建一个user过程中,谁变了,谁不变? 很明显,变的是每个 user 的姓名、年龄、工作这些值,这是用户的个性,不变的是每个人员都具备姓名、年龄、工作这些属性,这是用户的共性。
那么构造器做了什么?
构造器是不是将 name、age、work 赋值给对象的过程封装,确保了每个对象都具备这些属性,确保了共性的不变,同时将 name、age、work 各自的取值操作开放,确保了个性的灵活。
本质上构造器模式是抽象了每个对象实例的变与不变。