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 相关文章推荐
firefox插件Firebug的使用教程
Jan 02 Javascript
js prototype截取字符串函数
Apr 01 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
Nov 17 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
Jun 10 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
vue中组件的3种使用方式详解
Mar 23 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
Aug 17 Javascript
vue实现pdf文档在线预览功能
Nov 26 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实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php函数与传递参数实例分析
2014/11/15 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
Python实现的凯撒密码算法示例
2018/04/12 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python交易记录链的实现过程详解
2019/07/03 Python
python3下pygame如何实现显示中文
2020/01/11 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
高一新生军训感言
2014/03/02 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
销售口号霸气押韵
2015/12/24 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python