javascript基于prototype实现类似OOP继承的方法


Posted in Javascript onDecember 16, 2015

本文实例讲述了javascript基于prototype实现类似OOP继承的方法。分享给大家供大家参考,具体如下:

这里要说明的是,公有属性(使用this.修饰符)可以被覆盖,私有属性(使用var 修饰符)不能被覆盖

子类不能访问父类的私有属性,父类的方法正常访问父类的私有变量。

function Vegetable(){
  this.taste='delicious';
  var a = 'I\'m Vegetable\'a!'
  this.fun1 = function(){
    alert('Vegetable fun1 doing...');
  }
  this.fun3 = function(){
    alert(a);
  }
}
function Celery(){
  var a = 'I\'m Celery\' a';
  this.color = 'green';
  this.taste = 'bad';
  this.fun1a = function(){
    alert('Celeryfun1 doing...');
  }
  this.fun2 = function(){
    alert('Celery fun2 doing...');
  }
  this.fun4 = function(){
    alert(a);
  }
}
Celery.prototype = new Vegetable();
var stick = new Celery();
var polymorphed = stick.taste;
//alert(polymorphed);
//alert(stick.color);
//stick.fun1();
//stick.fun2();
//stick.fun3();
stick.fun4();

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

Javascript 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
Dec 02 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
超简单的Vue.js环境搭建教程
Mar 17 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
关于自定义Egg.js的请求级别日志详解
Dec 12 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 Javascript
详解vue身份认证管理和租户管理
May 25 Vue.js
javascript数组克隆简单实现方法
Dec 16 #Javascript
Perl Substr()函数及函数的应用
Dec 16 #Javascript
javascript针对不确定函数的执行方法
Dec 16 #Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 #Javascript
js如何判断输入字符串长度
Dec 16 #Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 #Javascript
jQuery添加和删除指定标签的方法
Dec 16 #Javascript
You might like
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
Python常见工厂函数用法示例
2018/03/21 Python
Python面向对象程序设计示例小结
2019/01/30 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
优质护理服务演讲稿
2014/05/07 职场文书
教师考核表个人总结
2015/02/12 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
高二化学教学反思
2016/02/22 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
基于Python实现将列表数据生成折线图
2022/03/23 Python