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学习基础知识小结
Nov 25 Javascript
各种常用的JS函数整理
Oct 25 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
Feb 19 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
js生成随机数的方法实例
Oct 16 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 Javascript
Vue如何基于vue-i18n实现多国语言兼容
Jul 17 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 Javascript
Ant design vue中的联动选择取消操作
Oct 31 Javascript
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
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
图书管理程序(二)
2006/10/09 PHP
php 团购折扣计算公式
2011/11/24 PHP
php实现求相对时间函数
2015/06/15 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
Python 变量类型详解
2018/10/10 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
金融管理专业毕业生求职信
2014/03/12 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书