亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

javascript面向?qū)ο笾岸鄳B(tài)”

JerryWangSAP / 2533人閱讀

摘要:之前,本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z言,因?yàn)樗鼘τ诜庋b繼承多態(tài)這些面向?qū)ο笳Z言的特點(diǎn)并沒有在語言層面上提供原生的支持。所以在中出現(xiàn)了等關(guān)鍵字,解決了面向?qū)ο笾谐霈F(xiàn)了問題。

ES6之前,javascript本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z言,因?yàn)樗鼘τ诜庋b、繼承、多態(tài)這些面向?qū)ο笳Z言的特點(diǎn)并沒有在語言層面上提供原生的支持。
但是,它引入了原型(prototype)的概念,可以讓我們以另一種方式模仿類,并通過原型鏈的方式實(shí)現(xiàn)了父類子類之間共享屬性的繼承以及身份確認(rèn)機(jī)制。
其實(shí),面向?qū)ο蟮母拍畋举|(zhì)上來講不是指某種語言特性,而是一種設(shè)計思想。
正是由于javascript本身對面向?qū)ο缶幊虥]有一個語言上的支持標(biāo)準(zhǔn),所以才有了五花八門、令人眼花繚亂的“類繼承”的代碼。
所以在ES6中出現(xiàn)了class extends等關(guān)鍵字,解決了javascript面向?qū)ο笾谐霈F(xiàn)了問題。
之前花了大量篇幅來講述面向?qū)ο笾械姆庋b和繼承
談一談javascript面向?qū)ο?br> javascript面向?qū)ο笈c原型
javascript 面向?qū)ο笾黄恼赂愣╟all()方法")
javascript面向?qū)ο笾^承(上)")
javascript面向?qū)ο笾^承(下)")
javascript面向?qū)ο笾瓻S6中的類和繼承
今天我們研究一下javascript面向?qū)ο笾械亩鄳B(tài)

javascript 多態(tài)

如果你在搜索引擎中搜索javascript多態(tài),有那么一個栗子你一定會搜到
非多態(tài)代碼示例

var makeSound = function( animal ){
    if ( animal instanceof Duck ){
        console.log( "嘎嘎嘎" );
    }else if ( animal instanceof Chicken ){
        console.log( "咯咯咯" );
    }
};

var Duck = function(){};
var Chicken = function(){};

makeSound( new Duck() ); // 嘎嘎嘎
makeSound( new Chicken() ); // 咯咯咯

多態(tài)的代碼示例

var makeSound = function(animal) {
    animal.sound();
}

var Duck = function(){}
Duck.prototype.sound = function() {
    console.log("嘎嘎嘎")
}
var Chicken = function() {};
Chicken.prototype.sound = function() {
    console.log("咯咯咯")
}

makeSound(new Chicken());
makeSound(new Duck());

這個栗子出自《JavaScript設(shè)計模式與開發(fā)實(shí)踐》,我手里沒有這本書,但是不耽誤我們?nèi)パ芯?,這個

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

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

相關(guān)文章

  • 面向對象三個基本特征(javaScript

    摘要:對象是公布其接口。節(jié)選自百度百科我對于封裝的理解,可能還有一個步驟就是抽離,首先你要清楚在一個對代碼中你應(yīng)該抽離那些屬性方法,有了這些為基礎(chǔ)才能更好的做好封裝。節(jié)選自百度百科因?yàn)槭菦]有重載的概念的所以要自己編寫邏輯完成重載。 1. 前言 2. 封裝 3. 繼承 4. 多態(tài) 5. 總結(jié) 1. 前言 了解過面向?qū)ο蟮耐瑢W(xué)應(yīng)該都知道,面向?qū)ο笕齻€基本特征是:封裝、繼承、多態(tài),但是對于這三...

    IamDLY 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    AaronYuan 評論0 收藏0
  • JavaScript面向對象的三大特征

    摘要:什么是面向?qū)ο蟊疚牟辉谡撌?。接下來說一下面向?qū)ο蟮娜筇卣髟诋?dāng)中的實(shí)現(xiàn)。封裝實(shí)現(xiàn)封裝實(shí)現(xiàn)就是是對象內(nèi)部的變化對外界是透明的不可見。這種做法使對象之間低耦合便于維護(hù)升級團(tuán)隊協(xié)作開發(fā)。。 概述 本來打算寫設(shè)計模式的,在談?wù)搄s的設(shè)計模式之前先說一下js的面向?qū)ο?因?yàn)楹芏嘣O(shè)計模式的實(shí)現(xiàn)都摻雜著面向?qū)ο蟮乃枷?所以先做一下前期鋪墊。 js我們都知道是一種動態(tài)類型腳本型語言,變量類型無法保證,...

    chaosx110 評論0 收藏0

發(fā)表評論

0條評論

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