JS原型与继承操作示例


Posted in Javascript onMay 09, 2019

本文实例讲述了JS原型与继承操作。分享给大家供大家参考,具体如下:

<script>
var Beverage = function(){};
Beverage.prototype.boilWater = function(){
  console.log("把水煮沸");
};
Beverage.prototype.brew = function(){
  throw new Error("子类必须重写该方法");
};
Beverage.prototype.pourInCup = function(){
  throw new Error("子类必须重写该方法");
};
Beverage.prototype.addCondiments = function(){
  throw new Error("子类必须重写该方法");
};
Beverage.prototype.customerWantsCondiments = function(){
  return true;
};
Beverage.prototype.init = function(){
  this.boilWater();
  this.brew();
  this.pourInCup();
  if(this.customerWantsCondiments){
    this.addCondiments();
  }
};
var Coffee = function(){};
Coffee.prototype = new Beverage();//继承父类Beverage
Coffee.prototype.boilWater = function(){
  console.log("把水煮沸");
};
Coffee.prototype.brew = function(){
  console.log("用沸水冲泡咖啡");
};
Coffee.prototype.pourInCup = function(){
  console.log("把咖啡倒进杯子");
};
Coffee.prototype.addCondiments = function(){
  console.log("加糖和牛奶");
};
var Tea = function(){};
Tea.prototype = new Beverage();//继承父类Beverage
Tea.prototype.boilWater = function(){
  console.log("把水煮沸");
};
Tea.prototype.brew = function(){
  console.log("用沸水浸泡茶叶");
};
Tea.prototype.pourInCup = function(){
  console.log("把茶水倒进杯子");
};
Tea.prototype.addCondiments = function(){
  console.log("加入柠檬");
};
Tea.prototype.customerWantsCondiments = function(){
  return window.confirm("请问需要加调料吗?");
};
var coffee = new Coffee();//实例化Coffee
coffee.init();
var tea = new Tea();//实例化Tea
tea.init();
</script>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试运行结果如下:

JS原型与继承操作示例

更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
改写一个简单的菜单 弹性大小
Dec 02 Javascript
23个超流行的jQuery相册插件整理分享
Apr 25 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
深入掌握 react的 setState的工作机制
Sep 27 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
详解微信小程序回到顶部的两种方式
May 09 #Javascript
jquery登录的异步验证操作示例
May 09 #jQuery
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 #Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 #Javascript
vue 引用自定义ttf、otf、在线字体的方法
May 09 #Javascript
bootstrap-table formatter 使用vue组件的方法
May 09 #Javascript
详解es6新增数组方法简便了哪些操作
May 09 #Javascript
You might like
PHP类继承 extends使用介绍
2014/01/14 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
php生成无限栏目树
2017/03/16 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
js加强的经典分页实例
2013/03/15 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
让python json encode datetime类型
2010/12/28 Python
Python字符串切片操作知识详解
2016/03/28 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
pycharm的python_stubs问题
2020/04/08 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
测试驱动开发的主要步骤是什么
2014/12/10 面试题
大四自我鉴定
2014/02/08 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
党性教育心得体会
2014/09/03 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
禁毒心得体会范文
2016/01/15 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python