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 类
Nov 07 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
Jul 27 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
Angular使用$http.jsonp发送跨站请求的方法
Mar 16 Javascript
解决angularjs WdatePicker ng-model的问题
Sep 13 Javascript
详解Vue中watch的详细用法
Nov 28 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
vuex + keep-alive实现tab标签页面缓存功能
Oct 17 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
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日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
基于php无限分类的深入理解
2013/06/02 PHP
Laravel框架表单验证详解
2014/09/04 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
Vuex的初探与实战小结
2018/11/26 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
Python os模块介绍
2014/11/30 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python3中zip()函数使用详解
2018/06/29 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
python实现字符串和字典的转换
2018/09/29 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
在求职信中如何凸显个人优势
2013/10/30 职场文书
大学生职业规划前言模板
2013/12/27 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
领导参观欢迎词
2015/01/26 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
电工生产实习心得体会
2016/01/22 职场文书
二年级数学教学反思
2016/02/16 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
详解Vue的列表渲染
2021/11/20 Vue.js