Javascript 面向对象 继承


Posted in Javascript onMay 13, 2010
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 相关文章推荐
如何实现浏览器上的右键菜单
Jul 10 Javascript
JavaScript模板入门介绍
Sep 26 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
A标签中通过href和onclick传递的this对象实现思路
Apr 19 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
Dec 04 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 Javascript
fullpage.js最后一屏滚动方式
Feb 06 Javascript
javascript性能优化之分时函数的介绍
Mar 28 Javascript
vue实现双向绑定和依赖收集遇到的坑
Nov 29 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
Javascript 面向对象 对象(Object)
May 13 #Javascript
Javascript 面向对象 命名空间
May 13 #Javascript
javascript 面向对象 function类
May 13 #Javascript
该如何加载google-analytics(或其他第三方)的JS
May 13 #Javascript
Javascript 面向对象 继承
May 13 #Javascript
Javascript 面向对象 重载
May 13 #Javascript
JavaScript 面向对象的 私有成员和公开成员
May 13 #Javascript
You might like
php URL编码解码函数代码
2009/03/10 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
关于python写入文件自动换行的问题
2018/06/23 Python
python中的变量如何开辟内存
2018/06/26 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Python阶乘求和的代码详解
2020/02/14 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python爬虫工具例举说明
2020/11/30 Python
python接口自动化框架实战
2020/12/23 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
军训自我鉴定200字
2014/02/13 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
小学二年级学生评语
2014/04/21 职场文书
人事专员岗位说明书
2014/07/29 职场文书
60句有关成长的名言
2019/09/04 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
java设计模式--七大原则详解
2021/07/21 Java/Android
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers