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 面向对象编程  function是方法(函数)
Sep 17 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
May 03 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
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/09/24 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
一百多行python代码实现抢票助手
2018/09/25 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
Python socket聊天脚本代码实例
2020/01/02 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
骨干教师培训制度
2014/01/13 职场文书
周年庆典主持词
2014/04/02 职场文书
详解python网络进程
2021/06/15 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电