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实例教程(19) 使用HoTMetal(7)
Dec 23 Javascript
js不是基础的基础
Dec 24 Javascript
关于 文本框默认值 的操作js代码
Jan 12 Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
jQuery判断是否存在滚动条的简单方法
Sep 17 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
Mar 05 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
原生JavaScript实现滑动拖动验证的示例代码
Dec 06 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 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生成缩略图的类代码
2008/10/02 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
详解JS模块导入导出
2017/12/20 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
基于python代码批量处理图片resize
2020/06/04 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
太太口服液广告词
2014/03/20 职场文书
低碳环保口号
2014/06/12 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
村干部任职承诺书
2015/01/21 职场文书
出国留学自荐信模板
2015/03/06 职场文书
党小组推荐意见
2015/06/02 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL