在线观看免费精品国白产,国产剧情啪视频网站丝袜,真实国产乱啪福利露脸,成全高清在线播放电视剧

射流研究…中的繼承方式有哪些?射流研究…總結(jié)中繼承的幾種用法java描述語(yǔ)言繼承的兩種形式是什么?

的繼承在很多書里面細(xì)致的分了很多種類型和實(shí)現(xiàn)方式,大體上就是兩種對(duì)象冒充、原型方式。這兩種方式各有優(yōu)點(diǎn)和缺陷,這里我給你先列舉出來(lái),再?gòu)牡讓臃治鰠^(qū)別。當(dāng)構(gòu)造對(duì)象B的時(shí)候,調(diào)用temp相當(dāng)于啟動(dòng)A的構(gòu)造函數(shù),注意這里的上下文環(huán)境中的this對(duì)象是B的實(shí)例,所以在執(zhí)行A構(gòu)造函數(shù)腳本時(shí),所有A的變量和方法都會(huì)賦值給this所指的對(duì)象,即B的實(shí)例,這樣子就達(dá)到B繼承了A的屬性方法的目的。

  • 網(wǎng)站首頁(yè)
  • 服務(wù)范圍
  • 新聞動(dòng)態(tài)
  • 關(guān)于我們
  • 聯(lián)系我們
  • 射流研究…中的繼承方式有哪些?射流研究…總結(jié)中繼承的幾種用法java描述語(yǔ)言繼承的兩種形式是什么?

    2022-04-21

    javascript繼承有哪兩種形式
    < p > < p >的繼承在很多書中分為很多類型和實(shí)現(xiàn)方式,一般是對(duì)象模擬和原型兩種方式。

    這兩種方法各有優(yōu)缺點(diǎn)。在這里,我先給大家列舉一下,再?gòu)牡讓臃治鰠^(qū)別。(1)該對(duì)象假裝是(name){ this . name = name

    < p > this。= () {(this.name+"!")

    }

    }B(name,Id){ this . temp = A

    < p > this . temp(name)

    < p >//它相當(dāng)于newa()

    < p > this . temp

    < p >//防止超類A的屬性和方法this.id將來(lái)被temp引用覆蓋。}

    }構(gòu)造對(duì)象B時(shí),調(diào)用temp相當(dāng)于啟動(dòng)A的構(gòu)造函數(shù),注意這里上下文中的這個(gè)對(duì)象是B的一個(gè)實(shí)例,所以在執(zhí)行A的構(gòu)造函數(shù)腳本時(shí),A的所有變量和方法都會(huì)賦給這個(gè)所指向的對(duì)象,也就是B的實(shí)例,從而達(dá)到B繼承A的屬性方法的目的,刪除臨時(shí)引用temp后, 是為了防止維護(hù)B中A的類對(duì)象(注意不是實(shí)例對(duì)象)的引用改變,因?yàn)楦淖僼emp會(huì)直接導(dǎo)致A類的結(jié)構(gòu)改變(注意不是A類的對(duì)象)。

    我們可以看到,在Js版本更新的過程中,添加了call和apply函數(shù),以便更方便地切換這個(gè)上下文來(lái)實(shí)現(xiàn)繼承或更通用的目的。它們的原理是一樣的,只是參數(shù)的版本不同(一個(gè)變量是任意參數(shù),而一個(gè)參數(shù)集必須傳入數(shù)組)。這里以call為例說(shuō)明call實(shí)現(xiàn)的對(duì)象假裝被繼承。Rect(width),{this.width=width

    this。=

    < p > this . area =(){ this . width * this。

    }

    }(width,name){Rect.call(this,width,)

    < p > this . name = name

    < p > this . show =(){ alert(this . name+" With area "+this . area())

    < p > }關(guān)于調(diào)用方法,官方的解釋是調(diào)用一個(gè)對(duì)象的方法來(lái)使用另一個(gè)調(diào)用(,arg1,arg2…),這也是對(duì)象模擬的繼承。實(shí)際上,調(diào)用call方法時(shí)發(fā)生的也是上下文環(huán)境變量this的替換。在函數(shù)體中,這必須指向類對(duì)象的實(shí)例。但是,使用它作為上下文環(huán)境變量會(huì)調(diào)用Rect方法,即Rect類的構(gòu)造函數(shù)。所以當(dāng)Rect被調(diào)用時(shí),它的賦值屬性和方法實(shí)際上是在一個(gè)新的對(duì)象上執(zhí)行的。因此,盡管call和apply不僅僅是繼承的新方法,它們也可以模擬繼承。對(duì)象模仿繼承就是這樣的東西,它可以實(shí)現(xiàn)多重繼承,只需要重復(fù)賦值的過程。然而目前并沒有大規(guī)模使用。為什么?< br >因?yàn)樗幸粋€(gè)明顯的性能缺陷,所以有必要談?wù)凮O的概念。我們說(shuō)對(duì)象是成員+成員方法的集合。構(gòu)造對(duì)象實(shí)例時(shí),這些實(shí)例只需要有自己的成員變量。成員方法只是一個(gè)對(duì)變量進(jìn)行操作的可執(zhí)行文本區(qū)域。不需要為每個(gè)實(shí)例復(fù)制這個(gè)區(qū)域,所有實(shí)例都可以共享?,F(xiàn)在回到Js對(duì)模擬對(duì)象的繼承,所有的成員方法都是為此創(chuàng)建的,也就是說(shuō),所有的實(shí)例都有一個(gè)成員方法的副本,這是對(duì)內(nèi)存資源的極大浪費(fèi)。其他的缺陷,比如對(duì)象冒充變量,方法不能繼承域,就不用提了。我覺得前一個(gè)致命缺陷就夠了。但是我們還是要了解一下,尤其是父類的屬性和方法是如何繼承的原理,這對(duì)理解Js繼承非常重要。(二)原型。第二種類型的繼承是原型。所謂原型繼承,就是通過某種方式使用或覆蓋屬性方法來(lái)復(fù)制它。實(shí)現(xiàn)的方式有很多種,不同的框架可能會(huì)有一些差異,但是如果把握住了原理,就沒有什么不懂的了??匆粋€(gè)例子(某種實(shí)現(xiàn))(){this.name = "Mike"

    < p > this。= () {alert("!")

    }..=(){alert("你好!(){}。= new ()

    < p >重點(diǎn)是將最后一句話中的prototype屬性賦給類構(gòu)造的對(duì)象。在這里,作者解釋了如何將父類的屬性和方法復(fù)制到子類中。

    < p >當(dāng)Js對(duì)象讀取對(duì)象的屬性時(shí),它總是首先查看自己域的屬性列表。如果有,就會(huì)返回;否則,它將讀取域(每個(gè)對(duì)象共享域的所有屬性和方法

    客服微信
    Phone: 18560018089
    Emali: tx1860@qq.com
    Address: 山東省濟(jì)南市高新區(qū)中舜泰廣場(chǎng)9號(hào)樓南樓1009