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 相关文章推荐
js判断变量是否未定义的代码
Mar 28 Javascript
jQuery后代选择器用法实例
Dec 23 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
Mar 30 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
Apr 29 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 Javascript
让mocha支持ES6模块的方法实现
Jan 14 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
详解Vue之事件处理
Jul 10 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
用PHP连接Oracle数据库
2006/10/09 PHP
一个php作的文本留言本的例子(四)
2006/10/09 PHP
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
基于php编程规范(详解)
2017/08/17 PHP
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python中的元类编程入门指引
2015/04/15 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
python3.5的包存放的具体路径
2020/08/16 Python
详解python tcp编程
2020/08/24 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
外贸公司实习自我鉴定
2013/09/24 职场文书
作文评语怎么写
2014/12/25 职场文书
党员带头倡议书
2015/04/29 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL