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与Ajax常用代码实现对比
Oct 03 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
jQuery中extend函数详解
Jul 13 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
基于vue实现多引擎搜索及关键字提示
Mar 16 Javascript
小程序自定义日历效果
Dec 29 Javascript
在Web关闭页面时发送Ajax请求的实现方法
Mar 07 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
Apr 15 Javascript
layer弹出层扩展主题的方法
Sep 11 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 fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Python模块相关知识点小结
2020/03/09 Python
python实现FTP循环上传文件
2020/03/20 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
家长写给孩子的评语
2014/04/18 职场文书
专项法律服务方案
2014/06/11 职场文书
搞笑老公保证书
2015/02/26 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
vue+echarts实现多条折线图
2022/03/21 Vue.js