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 相关文章推荐
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
May 24 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
Oct 10 Javascript
vue.js实现请求数据的方法示例
Feb 07 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
js实现按钮开关单机下拉菜单效果
Nov 22 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
Mar 31 Javascript
Angular2实现的秒表及改良版示例
May 10 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
微信小程序canvas动态时钟
Oct 22 Javascript
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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python模块之re正则表达式详解
2017/02/03 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
对Python实现累加函数的方法详解
2019/01/23 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
Python识别处理照片中的条形码
2020/11/16 Python
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
社区母亲节活动记录
2014/03/06 职场文书
大学活动总结模板
2014/07/10 职场文书
工程资料员岗位职责
2015/04/13 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书