成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于對象繼承的問題——利用空對象做中介

caohaoyu / 816人閱讀

摘要:先上例子動物定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對這個問題,在方法中要在中進(jìn)行體現(xiàn)對函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動物添加代碼定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動物

先上例子:

function Animal(){

    this.type="動物";

}

function Cat(name, color){

    this.name=name;

    this.color=color;

}

//定義繼承函數(shù)

function extend(Child, Parent){

    var Fn=function(){};
    
    Fn.prototype=Parent.prototype;

    Child.prototype=new Fn();
    
    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;//這里的uber是個名稱,可以隨意命名

}

//執(zhí)行函數(shù)
extend(Cat, Animal);

var cat_1=new Cat("kate", "white");

alert(cat_1.type);//輸出結(jié)果是undefined

針對這個問題,在extend方法中uber要在Cat中進(jìn)行體現(xiàn)
對Cat函數(shù)添加
Cat.uber.constructor.call(this);

修改后的代碼(感興趣打開連接---工程師的福利導(dǎo)航):

function Animal(){

    this.type="動物";

}

function Cat(name, color){
    
    Cat.uber.constructor.call(this); //添加代碼
    
    this.name=name;

    this.color=color;

}

//定義繼承函數(shù)

function extend(Child, Parent){

    var Fn=function(){};
    
    Fn.prototype=Parent.prototype;

    Child.prototype=new Fn();
    
    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;//這里的uber是個名稱,可以隨意命名

}

//執(zhí)行函數(shù)
extend(Cat, Animal);

var cat_1=new Cat("kate", "white");

alert(cat_1.type);//輸出結(jié)果是   動物

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/49928.html

相關(guān)文章

  • 關(guān)于對象繼承問題——利用對象中介

    摘要:先上例子動物定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對這個問題,在方法中要在中進(jìn)行體現(xiàn)對函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動物添加代碼定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動物 先上例子: function Animal(){ this.type=動物; } function Cat(name, color){ ...

    hersion 評論0 收藏0
  • 關(guān)于對象繼承問題——利用對象中介

    摘要:先上例子動物定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對這個問題,在方法中要在中進(jìn)行體現(xiàn)對函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動物添加代碼定義繼承函數(shù)這里的是個名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動物 先上例子: function Animal(){ this.type=動物; } function Cat(name, color){ ...

    source 評論0 收藏0
  • Javascript面向對象編程(二):構(gòu)造函數(shù)繼承

    摘要:動物還有一個貓對象的構(gòu)造函數(shù)。這顯然會導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動糾正,將對象的值改為。這是很重要的一點,請務(wù)必注意如果替換了對象,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構(gòu)造函數(shù)。 原文鏈接 現(xiàn)在有一個動物對象的構(gòu)造函數(shù)。 function Animal() { this.species = 動物; } 還有一個貓對象的構(gòu)造函數(shù)。 fun...

    longmon 評論0 收藏0
  • javascript對象繼承

    摘要:的構(gòu)造函數(shù)是什么它是一個普通的函數(shù)它內(nèi)部用了關(guān)鍵字它有一個屬性,這個是一個對象當(dāng)然,其實每一個函數(shù)都有屬性這個上面是可以被繼承的屬性可被繼承的屬性以上是一個從原型對象生成實例對象的例子。 1: JavaScript的構(gòu)造函數(shù)是什么? 1: 它是一個普通的函數(shù) 2: 它內(nèi)部用了this關(guān)鍵字 3: 它有一個prototype屬性,這個prototype是一個對象(當(dāng)然,其實每一個函數(shù)都有...

    jone5679 評論0 收藏0
  • Java23種設(shè)計模式與J2EE設(shè)計模式

    摘要:這個模式感覺一一般和工廠模式一起使用的比較多比較方便結(jié)構(gòu)型模式這些設(shè)計模式關(guān)注類和對象的組合。設(shè)計模式這些設(shè)計模式特別關(guān)注表示層。 設(shè)計模式的的六大原則: 學(xué)習(xí)設(shè)計模式之前最好先了解一下設(shè)計模式的設(shè)計原則: 1. 開閉原則(open close principle) 開放即指對擴(kuò)展開放,對修改關(guān)閉 簡而言之,就是擴(kuò)展功能的時候應(yīng)該盡量的不修改原有的代碼。 2. 里氏代換原則(lisko...

    andot 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<