javascript 面向对象思想 附源码

 更新时间:2009年07月07日 01:40:28   作者:  
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>

相关文章

  • javascript 面向对象编程  function是方法(函数)

    javascript 面向对象编程 function是方法(函数)

    在进行编程时,必免不了要碰到复杂的功能。初学者最怕复杂的功能,因为不能够很好的进行功能边界划分,只能一大串if、循环加case堆叠在一起,结果出来的程序自己看着晕,别人看着更晕。
    2009-09-09
  • js定义对象简单学习例子

    js定义对象简单学习例子

    js定义对象简单学习例子...
    2007-09-09
  • 面向对象的Javascript之一(初识Javascript)

    面向对象的Javascript之一(初识Javascript)

    Javascript是一门极富表现力的语言,在当今大行其道的Web浪潮中扮演着非常关键的作用。合理、高效地利用这门技术,可以让我们的Web世界多姿多彩。首先,我们认识一下这门技术的几个独特的特性
    2012-01-01
  • JavaScript面向对象之静态与非静态类

    JavaScript面向对象之静态与非静态类

    使用JavaScript面向对象完全出于偶然,因为大部分时间我都是在无图形界面的环境下工作,有时候就算是介入了web客户端的工作的时候,在写js和ajax时,最多的也只是写写function,从没有考虑过要使用JavaScript面向对象这么高级的技巧。
    2010-02-02
  • JS 继承实例分析

    JS 继承实例分析

    主要有三种方法: 1. this.method=Parent; this.method=Parent's constructor 2. Parent.call(this,arg,arg,arg.....);3.Parent.apply(this,arg.arg...) //for Array 还是来点实际的吧...
    2008-11-11
  • 浅谈Javascript面向对象编程

    浅谈Javascript面向对象编程

    Javascript是一门很灵活的语言,允许我们模拟面向对象编程中的很多机机制
    2011-11-11
  • Javascript面向对象设计一 工厂模式

    Javascript面向对象设计一 工厂模式

    工厂模式抽象了创建具体对象的过程,但是在ECMAScript中无法创建类,所以就使用一种函数来封装以特定接口创建对象的细节
    2011-12-12
  • JavaScript的面向对象方法以及差别

    JavaScript的面向对象方法以及差别

    JS作为一种动态语言,在语法上有相当大的自由度,所以造成了一种功能,有N种写法的局面。 在JS中实现OOP,一般来说有两种方法:
    2008-03-03
  • JAVASCRIPT  THIS详解 面向对象

    JAVASCRIPT THIS详解 面向对象

    在面向对象编程语言中,对于this关键字我们是非常熟悉的。比如C++、C#和Java等都提供了这个关键字
    2009-03-03
  • JavaScript之信息的封装 js对象入门

    JavaScript之信息的封装 js对象入门

    下面对代码的封装是比较常用的,也比较好理解,只有先掌握了这些,才能更深入的了解面向对于以及json格式的定义方法。
    2010-04-04

最新评论