模板模式的设计思想是:在父类模板中定义所有的方法,子类模板在继承父类所有的方法时,部分方法需要重写,从而避免代码的大量冗余和项目结构上更有条理性。下面的例子中以制造果汁为例,让苹果模板继承水果模板,并且在子类中将加入原材料一个环节进行了重写。
// 基类构造函数 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('苹果');
发表评论