Skip to content

原型设计模式 / Prototype

原型设计模式专注于通过克隆或者继承已经存在的对象作为原型来创建对象。在这个设计模式中,对象充当创建新对象的原型,允许在多个对象之间启用继承和共享属性与方法。

Code

javascript
const doorPrototype = {
  // property
  color: 'red',
  // method
  open() {
    console.log('open');
  },
  printColor() {
    console.log(this.color);
  },
};

const door1 = Object.create(doorPrototype);
// 遮蔽继承而来的属性
door1.color = 'blue';
// 使用继承而来的方法打印 color 属性
door1.printColor(); // blue

const door2 = Object.create(doorPrototype);
// 使用继承而来的方法打印继承而来的属性
door2.printColor(); // red
// 调用继承而来的方法
door2.open(); // open