js模拟类继承小例子


Posted in Javascript onJuly 17, 2010
//使用原型继承,中间使用临时对象作为Child的原型属性,临时对象的原型属性再指向父类的原型, 
//防止所有子类和父类原型属性都指向通一个对象. 
//这样当修改子类的原型属性,就不会影响其他子类和父类 
function extend(Child, Parent) { 
var F = function(){}; 
F.prototype = Parent.prototype; 
Child.prototype = new F(); 
Child.prototype.constructor = Child; 
Child.base = Parent.prototype; 
} function Parent(name) 
{ 
this.aa = 123; 
this.getName = function() {return name;}; //使用闭包模拟私有成员 
this.setName = function(value){name=value;}; 
} 
Parent.prototype.print = function(){alert("print!");}; 
Parent.prototype.hello = function() 
{ 
alert(this.getName() + "Parent") 
}; 
function Child(name,age) 
{ 
Parent.apply(this, arguments);//调用父类构造函数来继承父类定义的属性 
this.age = age; 
} 
extend(Child,Parent); //继承Parent 
Child.prototype.hello = function() //重写父类hello方法 
{ 
alert(this.getName() + "Child"); 
Parent.prototype.hello.apply(this,arguments); //调用父类同名方法 
}; 
//子类方法 
Child.prototype.doSomething = function(){ alert(this.age + "Child doSomething"); }; 
var p1 = new Child("xhan",22); 
var p2 = new Child("xxx",33); 
p1.hello(); 
p2.hello(); 
p1.doSomething(); //子类方法 
p1.print(); //父类方法 
alert(p1 instanceof Child); //true 
alert(p1 instanceof Parent);//true
Javascript 相关文章推荐
一些常用的JavaScript函数(json)附详细说明
May 25 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
Mar 30 Javascript
JS数字抽奖游戏实现方法
May 04 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
Nov 03 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
深入学习jQuery Validate表单验证(二)
Jan 18 Javascript
javascript拖拽应用实例(二)
Mar 25 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
js 两个日期比较相差多少天的实例
Oct 19 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
vue 使用async写数字动态加载效果案例
Jul 18 Javascript
javascript 循环读取JSON数据的代码
Jul 17 #Javascript
一个可绑定数据源的jQuery数据表格插件
Jul 17 #Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 #Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
Jul 17 #Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 #Javascript
基于jquery的Repeater实现代码
Jul 17 #Javascript
javascript onmouseout 解决办法
Jul 17 #Javascript
You might like
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
跟老齐学Python之编写类之三子类
2014/10/11 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python实现猜数字小游戏
2020/03/24 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
自荐信的禁忌和要点
2013/10/15 职场文书
销售个人求职信范文
2014/04/28 职场文书
户外宣传策划方案
2014/05/25 职场文书
相亲大会策划方案
2014/06/05 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
第二次离婚起诉书
2015/05/18 职场文书
欠条样本
2015/07/03 职场文书
创业计划书之废品回收
2019/09/26 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫