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 相关文章推荐
JavaScript类属性的访问方式详解
Feb 11 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
Jun 19 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
layui在form表单页面通过Validform加入简单验证的方法
Sep 06 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
JS实现扫码枪扫描二维码功能
Jan 03 Javascript
vue 组件简介
Jul 31 Javascript
js轮播图之旋转木马效果
Oct 13 Javascript
JavaScript手写数组的常用函数总结
Nov 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
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
js编写选项卡效果
2017/05/23 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
node使用request请求的方法
2019/12/20 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
Python collections模块使用方法详解
2019/08/28 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
大学生的网络创业计划书
2013/12/26 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书