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 相关文章推荐
javascript基础的动画教程,直观易懂
Jan 10 Javascript
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
May 25 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
Jul 22 Javascript
js解析与序列化json数据(二)序列化探讨
Feb 01 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
JavaScript多线程详解
Aug 12 Javascript
jquery仅用6行代码实现滑动门效果
Sep 07 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
bootstrap实现嵌套模态框的实例代码
Jan 10 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查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
php实现简单爬虫的开发
2016/03/28 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
JS实现图片切换效果
2018/11/17 Javascript
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
2014年党建工作汇报材料
2014/11/02 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
行政助理岗位职责
2015/02/10 职场文书
会计试用期自我评价
2015/03/10 职场文书
听证通知书
2015/04/24 职场文书
python中的None与NULL用法说明
2021/05/25 Python
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python