这篇文章主要介绍了关于js的模板方法模式的讲解,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
* 分离出共同点
function Beverage() {}Beverage.prototype.boilWater = function() {console.log("把水煮沸");}Beverage.prototype.brew = function() {throw new Error('子类必须重写brew方法');}Beverage.prototype.pourInCup = function() {throw new Error('子类必须重写pourInCup方法');}Beverage.prototype.addCondiments = function() {throw new Error('子类必须重写addCondiments方法');}Beverage.prototype.init = function() {this.boilWater();this.brew();this.pourInCup();this.addCondiments();}function Coffee() {}Coffee.prototype = new Beverage();Coffee.prototype.brew = function() {console.log("用沸水冲泡咖啡");}Coffee.prototype.pourInCup = function() {console.log("把咖啡倒进杯子");}Coffee.prototype.addCondiments = function() {console.log("加糖和牛奶");}var coffee = new Coffee();// coffee的原型Coffee没有init方法, // 顺着原型链委托给父类的Beverage原型上的init方法coffee.init();console.log("-------------------------");function Tea() {}Tea.prototype = new Beverage();Tea.prototype.brew = function() {console.log("用沸水浸泡茶叶");}Tea.prototype.pourInCup = function() {console.log("把茶水倒进杯子");}Tea.prototype.addCondiments = function() {console.log("加柠檬");}var tea = new Tea();tea.init();
登录后复制
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
如何通过Vue.js使用Font Awesome实现小图标
关于js数组filter的用法
以上就是关于js的模板方法模式的讲解的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2746037.html