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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
完美解决IE低版本不支持call与apply的问题
Dec 05 Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
JS定义类的六种方式详解
May 12 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 Javascript
jQuery获取浏览器类型和版本号的方法
Jul 05 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
Oct 25 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 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
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
php7性能提升的原因详解
2019/10/13 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
js Math 对象的方法
2013/09/01 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
使用js画图之画切线
2015/01/12 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
js实现搜索栏效果
2018/11/16 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
logging level级别介绍
2020/02/21 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
英文版网络工程师求职信
2013/10/28 职场文书
毕业生就业自荐信
2013/12/04 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python