关于js的模板方法模式的讲解

这篇文章主要介绍了关于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();

登录后复制

关于js的模板方法模式的讲解

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何通过Vue.js使用Font Awesome实现小图标

关于js数组filter的用法

以上就是关于js的模板方法模式的讲解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2746037.html

(0)
上一篇 2025年3月8日 03:52:35
下一篇 2025年3月1日 10:51:06

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论