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的图片懒加载js
Jun 30 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
基于vue实现分页效果
Nov 06 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
Jul 09 Javascript
webpack常用配置总览(小结)
Nov 18 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
Jan 08 Javascript
微信小程序实现滑动操作代码
Apr 23 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP大文件切割上传功能实例分析
2019/07/01 PHP
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
js图片处理示例代码
2014/05/12 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
深入理解Django的自定义过滤器
2017/10/17 Python
Python根据成绩分析系统浅析
2019/02/11 Python
Python字符串的常见操作实例小结
2019/04/08 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
Python unittest框架操作实例解析
2020/04/13 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
python接口自动化框架实战
2020/12/23 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
台湾森森购物网:U-mall
2017/10/16 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
火山动力Java笔试题
2014/06/26 面试题
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
《静夜思》教学反思
2016/02/17 职场文书
学校团代会开幕词
2016/03/04 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
Python中的datetime包与time包包和模块详情
2022/02/28 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS