javascript 面向对象思想 附源码


Posted in Javascript onJuly 07, 2009
<html> 
<head> 
<script type="text/javascript"><!-- 
ClassModel = //类模型,用于创建类 
{ 
create: function() 
{ 
return function(){this.construct.apply(this,arguments);} 
} 
} 
Extend = function(desc, src) //模拟类继承, 将一个对象的所有成员 复制到 另一个对象中 
{ 
for(var c in src) 
{ 
desc[c] = src[c]; 
} 
return desc; 
} 
Object.prototype.extend = function(src) 
{ 
return Extend.apply(this, [this, src]); 
} 
var human = ClassModel.create(); 
human.prototype = 
{ 
construct : function() //构造函数 
{ 
//alert("construct method"); 
//alert(this.speak() + "," + this.sleep()); 
}, 
speak : function() 
{ 
alert("speak"); 
}, 
sleep : function() 
{ 
alert("sleep"); 
}, 
sex : function() 
{ 
alert("女"); 
} 
} 
var h = new human(); 
h.speak(); //调用human类的speak方法 
var student = ClassModel.create(); 
student.prototype = (new human()).extend({ //student类继承类human类 
sex : function() //方法重载 (多态) 
{ 
alert("男"); 
}, 
study : function() 
{ 
alert("studying"); 
}, 
thinking : function() 
{ 
alert("thinking"); 
} 
}); 
var student = new student(); 
student.sleep(); //调用 父类(human) 的sleep方法 
student.study(); //调用 student的study方法 
student.thinking(); //调用 student的thinking方法 
student.sex(); //结果为 男 不再是父类的 女 
// --></script> 
</head> 
</html>
Javascript 相关文章推荐
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
jquery获取iframe中的dom对象(两种方法)
Jul 02 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
JavaScript控制table某列不显示的方法
Mar 16 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
JS动态添加iframe的代码
Sep 14 Javascript
JS遍历数组及打印数组实例分析
Jan 21 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
Dec 22 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
jquery BS,dialog控件自适应大小
Jul 06 #Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
Jul 06 #Javascript
javascript 写类方式之十
Jul 05 #Javascript
javascript 写类方式之九
Jul 05 #Javascript
javascript 写类方式之八
Jul 05 #Javascript
javascript 写类方式之七
Jul 05 #Javascript
javascript 写类方式之六
Jul 05 #Javascript
You might like
PHP可变函数的使用详解
2013/06/14 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python字符串编码识别模块chardet简单应用
2015/06/15 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
python中map的基本用法示例
2018/09/10 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
tensorflow自定义激活函数实例
2020/02/04 Python
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
本科毕业生自我鉴定
2013/11/02 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
岗位说明书标准范本
2014/07/30 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android