当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 面向对象思想 附源码

Javascript
JavaScript中全局变量、函数内变量以及常量表达式的效率测试
写出更好的JavaScript之undefined篇(上)
Javascript 刷新全集常用代码
传智播客学习之java 反射
javascript DOM编程实例(智播客学习)
javascript 在网页中的运用(asp.net)
通过身份证号得到出生日期和性别的js代码
写出更好的JavaScript程序之undefined篇(中)
js获取图片长和宽度的代码
js cookies实现简单统计访问次数
根据鼠标的位置动态的控制层的位置
dropdownlist之间的互相联动实现(显示与隐藏)
javascript select控件间内容互相移动
asp.net下利用js实现返回上一页的实现方法小集
JavaScript 利用StringBuffer类提升+=拼接字符串效率
JS 实现双色表格实现代码
利用JavaScript更改input中radio和checkbox样式
jquery.ui.draggable中文文档
js loading加载效果实现代码
JS 倒计时实现代码(时、分,秒)

Javascript 中的 javascript 面向对象思想 附源码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 323 ::
收藏到网摘: n/a

javascript 面向对象思想实例代码,大家可以参考下。
复制代码 代码如下:

<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>