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验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
javascript中Object使用详解
Jan 26 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
jQuery之动画效果大全
Nov 09 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
Jul 07 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
初学者AngularJS的环境搭建过程
Oct 27 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 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
PHP 安全检测代码片段(分享)
2013/07/05 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
车间组长岗位职责
2013/12/20 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技