Javascript面向对象之四 继承


Posted in Javascript onFebruary 08, 2011
var JsObject = {} || new Object(); 
JsObject.extend = function(subClass, superClass){ 
 //先判断子类subClass是否已经定义,如果未定义,则重新定义类。 

if(typeof subClass == "undefined")subClass = function(){}; 

  //如果父类superClass是类,则转化成对象 

 if(typeof superClass == "function")superClass = new superClass(); 

 //遍历父类superClass对象中的属性和方法 
for(var p in superClass) 
{ 


 /*将父类superClass对象中的属性和方法复制到子类prototype对象中, 


 因此子类拥有父类的所有特性,即为继承 */
  
subClass.prototype[p] = superClass[p]; 
} 
return subClass; 
}; 
function Student() 
{ 
this.name = "张三"; 
this.updateName = function(name){ 
this.name = name; 
} 
} 
function Class1() 
{ 
this.sex = "男"; 
this.updateSex = function(sex){ 
this.sex = sex; 
} 
} 
//定义类Class1继承Student类 
Class1 = JsObject.extend(Class1, Student); 
var obj = new Class1(); 
alert(obj.sex); 
alert(obj.name); 
obj.updateSex("女"); 
obj.updateName("玛丽"); 
alert(obj.sex); 
alert(obj.name);

结果显示:男,张三,女,玛丽
Javascript 相关文章推荐
网上应用的一个不错common.js脚本
Aug 08 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
May 14 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
Bootstrap 粘页脚效果
Mar 28 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
Oct 28 Javascript
js中数组插入、删除元素操作的方法
Feb 15 Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 Javascript
利用nginx + node在阿里云部署https的步骤详解
Dec 19 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
JavaScript设计模式之命令模式实例分析
Jan 16 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
Aug 07 Javascript
javascript面向对象之二 命名空间
Feb 08 #Javascript
javascript中的对象创建 实例附注释
Feb 08 #Javascript
kmock javascript 单元测试代码
Feb 06 #Javascript
一次失败的jQuery优化尝试小结
Feb 06 #Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 #Javascript
基于jQuery的自动完成插件
Feb 03 #Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 #Javascript
You might like
php实现的简单日志写入函数
2015/03/31 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
Python中实现三目运算的方法
2015/06/21 Python
python文件与目录操作实例详解
2016/02/22 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
python负载均衡的简单实现方法
2018/02/04 Python
python爬取内容存入Excel实例
2019/02/20 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
Python列表元素常见操作简单示例
2019/10/25 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
个人租房协议书
2014/11/28 职场文书
2014年副班长工作总结
2014/12/10 职场文书
超市店长竞聘书
2015/09/15 职场文书