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 相关文章推荐
锋利的jQuery 要点归纳(一) jQuery选择器
Mar 21 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
跟我学习javascript的异步脚本加载
Nov 20 Javascript
Bootstrap每天必学之下拉菜单
Nov 25 Javascript
JavaScript常用字符串与数组扩展函数小结
Apr 24 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
Dec 02 Javascript
[js高手之路]寄生组合式继承的优势详解
Aug 28 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 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
处理单名多值表单的详解
2013/06/08 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
Python进阶篇之字典操作总结
2016/11/16 Python
Python 数据结构之旋转链表
2017/02/25 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
岗位竞聘演讲稿范文
2014/04/24 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
新闻传播专业求职信
2014/07/22 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
自荐信格式范文
2015/03/04 职场文书