模板模式的设计思想是:在父类模板中定义所有的方法,子类模板在继承父类所有的方法时,部分方法需要重写,从而避免代码的大量冗余和项目结构上更有条理性。下面的例子中以制造果汁为例,让苹果模板继承水果模板,并且在子类中将加入原材料一个环节进行了重写。
// 基类构造函数
function Fruit () {};
Fruit.prototype.make = function (meta) {
// 倒水
this.water();
// 加料
this.meta(meta);
// 搅拌
this.jiaoban();
// 凉凉
this.liangliang();
}
Fruit.prototype.water = function () {
console.log('把水倒入杯中');
}
Fruit.prototype.meta = function () {
throw ('操作失误,此方法需要在子类重新定义');
}
Fruit.prototype.jiaoban = function () {
console.log('进行充分搅拌');
}
Fruit.prototype.liangliang = function () {
console.log('凉凉一会再喝');
}
// 子类构造函数
function Apple () {}
Apple.prototype = new Fruit();
Apple.prototype.meta = function (meta) {
console.log('加工' + meta + '汁加入水中');
}
var apple = new Apple();
apple.make('苹果');
发表评论