日期:2014-05-16  浏览次数:20415 次

Javascript的类实现--------封装、抽象与继承

一.JavaScript中类的封装

? ? ? Javascript不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 下面我们以封装一个简单的Shape类来作一个说明.

? ? ?定义?ShapeBase“类”

? ? ?1.法则一[this式]

? ? ? ?function ShapeBase(){?

? ? ? ? ? ? this.show = function(){?

? ? ? ? ? ? ? ? ?alert("ShapeBase show");?

? ? ? ? ? ? };?

? ? ? ? ? ? this.init = function(){?

? ? ? ? ? ? ? ? ?alert("ShapeBase init");?

? ? ? ? ? ? };?

? ? ? ?}?

? ? ? ?注:这里用到了this来声明,而不是var,后者是用来定义私有方法的。

? ? ? ?

? ? ? ?2.法则二[prototype式]

? ? ? ?ShapeBase.prototype.show=function(){?

? ? ? ? ? ? ? alert("ShapeBase show");?

? ? ? ?}?

? ? ? ?ShapeBase.prototype.init=function(){?

? ? ? ? ? ? ? alert("ShapeBase init");?

? ? ? ?}

? ? ? ? 或者

? ? ? ? ShapeBase.prototype={

? ? ? ? ? ? ? ? ? show:function(){