天天看點

[基礎]Javascript中的繼承示例代碼

面向對象的語言必須具備四個基本特征:

1.封裝能力(即允許将基本資料類型的變量或函數放到一個類裡,形成類的成員或方法)

2.聚合能力(即允許類裡面再包含類,這樣可以應付足夠複雜的設計)

3.支援繼承(父類可以派生出子類,子類擁有父母的屬性或方法)

4.支援多态(允許同樣的方法名,根據方法簽名[即函數的參數]不同,有各自獨立的處理方法)

這四個基本屬性,javascript都可以支援,是以javascript确實是一種弱類型的面向對象的語言,這裡給出一個簡單的類繼承的代碼

[基礎]Javascript中的繼承示例代碼

<script type="text/javascript">

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

//父類ClassA

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

function ClassA(sColor) 

[基礎]Javascript中的繼承示例代碼

{

[基礎]Javascript中的繼承示例代碼

    this.color = sColor;

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

    this.sayColor = function () 

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

        document.write("Color:" + this.color + "<br/>");

[基礎]Javascript中的繼承示例代碼

    };

[基礎]Javascript中的繼承示例代碼

}

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

//子類ClassB,繼承自ClassA

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

function ClassB(sColor,sName)

[基礎]Javascript中的繼承示例代碼

{    

[基礎]Javascript中的繼承示例代碼

    ClassA.call(this,sColor);//利用call函數,将ClassA的所有方法都賦給ClassB,即實作了繼承

[基礎]Javascript中的繼承示例代碼

    this.name = sName;

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

    this.sayName = function()

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

        document.write("Name:" + this.name + "<br/>");

[基礎]Javascript中的繼承示例代碼

    }

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

var oClassA = new ClassA("Red");

[基礎]Javascript中的繼承示例代碼

oClassA.sayColor();

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

var oClassB = new ClassB("Blue","Jimmy.Yang");

[基礎]Javascript中的繼承示例代碼

oClassB.sayColor();//這裡sayColor方法是從ClassA繼承來的

[基礎]Javascript中的繼承示例代碼

oClassB.sayName();//這是ClassB中的新方法

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

/**//*

[基礎]Javascript中的繼承示例代碼

call函數的示範示例

[基礎]Javascript中的繼承示例代碼

function sayColor(sPrefix, sSuffix) {

[基礎]Javascript中的繼承示例代碼

alert(sPrefix + this.color + sSuffix);

[基礎]Javascript中的繼承示例代碼

};

[基礎]Javascript中的繼承示例代碼

var obj = new Object();

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

sayColor.call(obj, "The color is ", ", a very nice color indeed. ");

[基礎]Javascript中的繼承示例代碼

*/

[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼

</script>

繼續閱讀