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 相关文章推荐
JSON辅助格式化处理方法
Mar 26 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 Javascript
JavaScript闭包实例讲解
Apr 22 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
详解如何在vue-cli中使用vuex
Aug 07 Javascript
使用JavaScript计算前一天和后一天的思路详解
Dec 20 Javascript
JavaScript使用prototype属性实现继承操作示例
May 22 Javascript
如何在 ant 的table中实现图片的渲染操作
Oct 28 Javascript
用webAPI实现图片放大镜效果
Nov 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
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
js倒计时小程序
2013/11/05 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
总裁办公室主任职责
2014/01/02 职场文书
企业趣味活动方案
2014/08/21 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL