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 相关文章推荐
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
Aug 13 Javascript
jquery图片切换插件
Mar 16 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
简单快速的实现js计算器功能
Aug 17 Javascript
微信小程序template模板实例详解
Oct 27 Javascript
Angular自定义组件实现数据双向数据绑定的实例
Dec 11 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 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
a标签的css样式四个状态
2021/03/09 HTML / CSS
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
2013/12/30 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
Python 线程池用法简单示例
2019/10/02 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
大学应届生的自我评价
2014/03/06 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android