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 相关文章推荐
Javascript----文件操作
Jan 18 Javascript
web 页面分页打印的实现
Jun 22 Javascript
公共js在页面底部加载的注意事项介绍
Jul 18 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
js事件源window.event.srcElement兼容性写法(详解)
Nov 25 Javascript
详解webpack+gulp实现自动构建部署
Jun 29 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
通过实例解析js简易模块加载器
Jun 17 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依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
BootStrap中
2016/12/10 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
python读取和保存视频文件
2018/04/16 Python
python 检查文件mime类型的方法
2018/12/08 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python binascii 进制转换实例
2019/06/12 Python
kali中python版本的切换方法
2019/07/11 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
实习求职信
2013/12/01 职场文书
大学生职业生涯规划书范文
2014/01/04 职场文书
项目总经理岗位职责
2014/02/14 职场文书
入学申请自荐信范文
2014/02/26 职场文书
技术支持岗位职责
2015/02/13 职场文书
大学生自荐信范文
2015/03/05 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书