JS原型与继承操作示例

 更新时间:2019年05月09日 11:29:26   作者:Yxh_blogs  
这篇文章主要介绍了JS原型与继承操作,涉及javascript面向对象程序设计中原形与继承的相关定义、实例化操作技巧,需要的朋友可以参考下

本文实例讲述了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.jb51.net/code/HtmlJsRun测试运行结果如下:

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

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

相关文章

  • JavaScript实现谷歌浏览器插件开发的方法详解

    JavaScript实现谷歌浏览器插件开发的方法详解

    对于浏览器插件相信大家都不陌生,谁的浏览器不装几个好用的插件呢,更是有油猴这个强大的神器。所以本文就来用JavaScript开发一个谷歌浏览器插件,感兴趣的小伙伴可以了解一下
    2022-11-11
  • js之完全兼容ie与firefox的拖动层代码[测试好用]

    js之完全兼容ie与firefox的拖动层代码[测试好用]

    经测试,这个拖到效果不错,多浏览器支持。方便做网站的朋友使用
    2008-10-10
  • 完美实现bootstrap分页查询

    完美实现bootstrap分页查询

    这篇文章主要介绍了一个完美的bootstrap分页查询,如何利用bootstrap实现分页查询,本文将为大家进行揭晓
    2015-12-12
  • JS实现3D图片旋转展示效果代码

    JS实现3D图片旋转展示效果代码

    这篇文章主要介绍了JS实现3D图片旋转展示效果代码,可实现页面元素的3D旋转变换效果,涉及JavaScript动态数学运算的相关技巧,需要的朋友可以参考下
    2015-09-09
  • JavaScript实现猜数字游戏

    JavaScript实现猜数字游戏

    这篇文章主要为大家详细介绍了JavaScript实现猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • JavaScript实现英语单词题库

    JavaScript实现英语单词题库

    这篇文章主要为大家详细介绍了JavaScript实现英语单词题库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • ES6 javascript中class静态方法、属性与实例属性用法示例

    ES6 javascript中class静态方法、属性与实例属性用法示例

    这篇文章主要介绍了ES6 javascript中class静态方法、属性与实例属性用法,结合实例形式分析了ES6中类的静态方法、静态属性概念、功能、使用方法与相关注意事项,需要的朋友可以参考下
    2017-10-10
  • 怎样用Javascript实现建造者模式

    怎样用Javascript实现建造者模式

    这篇文章主要介绍了怎样用Javascript实现建造者模式,想学习设计模式的同学,可以参考下
    2021-04-04
  • javascript jquery对form元素的常见操作详解

    javascript jquery对form元素的常见操作详解

    下面小编就为大家带来一篇javascript jquery对form元素的常见操作详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • JavaScript使用canvas实现锚点抠图功能

    JavaScript使用canvas实现锚点抠图功能

    在日常的图片处理中,我们经常会遇到需要抠图的情况,无论是为了美化照片、制作海报,还是进行图片合成,抠图对于我们来说也是一种很常用的功能了,今天就让我们一起来看下怎么使用canvas来实现一个锚点抠图功能
    2024-03-03

最新评论