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中的push和join方法使用介绍
Oct 08 Javascript
Jquery实现的角色左右选择特效
May 21 Javascript
jquery Easyui快速开发总结
Aug 20 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
canvas知识总结
Jan 25 Javascript
js 获取图像缩放后的实际宽高,位置等信息
Mar 07 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 Javascript
vue3.0 上手体验
Sep 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
英国名牌男装店:Standout
2021/02/17 全球购物
简述数据库的设计过程
2015/06/22 面试题
.NET remoting的两种通道是什么
2016/05/31 面试题
护士辞职信范文
2014/01/19 职场文书
2014年体育工作总结
2014/11/24 职场文书
归元寺导游词
2015/02/06 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js
nginx配置之并发频次限制
2022/04/18 Servers