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 相关文章推荐
利用JQuery为搜索栏增加tag提示
Jun 22 Javascript
JQuery 技巧和窍门整理(8个)
Apr 22 Javascript
遍历jquery对象的代码分享
Nov 02 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
JS实现3D图片旋转展示效果代码
Sep 22 Javascript
jquery广告无缝轮播实例
Jan 05 Javascript
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
Vue中组件之间数据的传递的示例代码
Sep 08 Javascript
使用socket.io制做简易WEB聊天室
Jan 02 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 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基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
python实现浪漫的烟花秀
2019/01/30 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
自定义django admin model表单提交的例子
2019/08/23 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
python里glob模块知识点总结
2021/01/05 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
为什么要用EJB
2014/04/17 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
辅导员评语
2014/05/04 职场文书
用人单位聘用意向书
2015/05/11 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
Python类方法总结讲解
2021/07/26 Python
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android