javascript高級(jí)面向?qū)ο?/h1>

今天,我來(lái)跟大家說(shuō)一下面向?qū)ο筮@一章,首先纠永,先來(lái)了解一下什么是面向?qū)ο螅?/p>

其實(shí)屯伞,簡(jiǎn)潔的來(lái)說(shuō)盐欺,面向?qū)ο缶褪悄M人類認(rèn)知世界的能力。

它分為類和對(duì)象,類------指的是抽象的概念(模板);對(duì)象-------實(shí)例(實(shí)實(shí)在在的案例)或颊。

面向?qū)ο蟮恼Z(yǔ)言特征如下:

1.封裝: ???封裝----js的原型(prototype)

-------將屬性寫(xiě)在構(gòu)造函數(shù)中砸紊,將方法寫(xiě)在原型中。

什么是原型囱挑?

--------原型就是JS中非常特殊的對(duì)象醉顽,當(dāng)函數(shù)創(chuàng)建之后,會(huì)隨之產(chǎn)生一個(gè)原型對(duì)象平挑,當(dāng)通過(guò)這個(gè)函數(shù)的構(gòu)造函數(shù)創(chuàng)建了一個(gè)具體的對(duì)象之后游添,在這個(gè)具體的對(duì)象中就會(huì)有一個(gè)屬性指向原型。

下面給大家舉個(gè)實(shí)例就明白了:

原型的內(nèi)存模式

例如通熄,如下代碼:

原型內(nèi)存模式代碼


對(duì)原型的基本知識(shí)到這里也就差不多了唆涝,只有對(duì)上面的圖和代碼能夠很好的理解,那么你對(duì)原型的理解也就沒(méi)有問(wèn)題了棠隐。?

在上述的寫(xiě)法中,我們已經(jīng)解決了大量的問(wèn)題檐嚣,使用原型助泽。但是如果我們的對(duì)象中存在大量的屬性或方法的時(shí)候,使用上面的方式嚎京,會(huì)產(chǎn)生代碼的冗余嗡贺,感覺(jué)不是很好,那么我們可以使用json的方式來(lái)寫(xiě):

原型重寫(xiě)

但是鞍帝,上述這種寫(xiě)法诫睬,我們是將該對(duì)象的原型覆蓋,如果不太理解的話帕涌,可以給大家看一下原型圖摄凡,如下:

因?yàn)樵椭貙?xiě),需要根據(jù)原型的原理圖來(lái)理解蚓曼,原型的知識(shí)也就這些了亲澡。

但是,因?yàn)樵偷拇嬖谌野妫覀儗?shí)現(xiàn)了對(duì)象的封裝床绪,但是這種封裝同樣也存在問(wèn)題。那么為了解決原型所帶來(lái)的問(wèn)題其弊,需要通過(guò)組合構(gòu)造函數(shù)和原型來(lái)實(shí)現(xiàn)對(duì)象的創(chuàng)建癞己,也就是我們所說(shuō)的終極方案------基于組合的對(duì)象定義。

基于組合的對(duì)象定義:就是將屬性寫(xiě)在構(gòu)造函數(shù)中梭伐,將方法寫(xiě)在原型中痹雅。這種方案有效的集合了兩者的優(yōu)點(diǎn),是目前最為常用的一種方式糊识。

代碼如下:

基于組合的對(duì)象

以上 就是JavaScript中面向?qū)ο蟮姆庋b练慕,將屬性和方法封裝到所對(duì)應(yīng)的對(duì)象中惰匙,其他對(duì)象無(wú)法得到和訪問(wèn)。

2.繼承:

說(shuō)道繼承铃将,首先项鬼,我們來(lái)了解一下什么是繼承?

繼承劲阎,望名而知意绘盟,就是我們現(xiàn)實(shí)社會(huì)中的子孫后代繼承了父輩的財(cái)富,我們一直再說(shuō)悯仙,面向?qū)ο蟮恼Z(yǔ)言就是在模擬現(xiàn)實(shí)世界龄毡,通過(guò)模擬現(xiàn)實(shí)世界來(lái)編程,那么在JavaScript中锡垄,如何理解繼承沦零,如何實(shí)現(xiàn)繼承呢?

首先货岭,讓我們來(lái)了解一下通過(guò)原形鏈來(lái)實(shí)現(xiàn)繼承路操。

要注意的是:JavaScript中存在重寫(xiě),但是沒(méi)有重載千贯。

原形鏈中存在很多缺陷屯仗,那么實(shí)現(xiàn)繼承的終極方案------基于組合實(shí)現(xiàn)繼承。

基于組合的繼承就是:屬性的繼承基于偽裝的方式實(shí)現(xiàn)搔谴,而方法的繼承基于原型鏈的方式繼承魁袜。

代碼如下:

基于組合的繼承

這就是我們實(shí)現(xiàn)繼承的終極方案,當(dāng)然在編程界敦第,還存在著其他的繼承方案峰弹,但是使用都比較少,所以在這里就不做講解了芜果,我們發(fā)現(xiàn)不管是封裝還是繼承最終方案都是基于組合垮卓,就是汲取了這種方案的長(zhǎng)處,舍去了其缺點(diǎn)师幕。

3.多態(tài):父類引用指向子類實(shí)例粟按,是一種弱類數(shù)據(jù)類型語(yǔ)言,天生支持多態(tài)霹粥。在這里就不做太多的講解灭将,很少用到的。

好了后控,今天先分享到這里庙曙,明天繼續(xù)為大家送上好的文章。





? ? ? ? ??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末浩淘,一起剝皮案震驚了整個(gè)濱河市捌朴,隨后出現(xiàn)的幾起案子吴攒,更是在濱河造成了極大的恐慌,老刑警劉巖砂蔽,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洼怔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡左驾,警方通過(guò)查閱死者的電腦和手機(jī)镣隶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诡右,“玉大人安岂,你說(shuō)我怎么就攤上這事》牵” “怎么了域那?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)猜煮。 經(jīng)常有香客問(wèn)我次员,道長(zhǎng),這世上最難降的妖魔是什么友瘤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任翠肘,我火速辦了婚禮檐束,結(jié)果婚禮上辫秧,老公的妹妹穿的比我還像新娘。我一直安慰自己被丧,他們只是感情好盟戏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著甥桂,像睡著了一般柿究。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上黄选,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天蝇摸,我揣著相機(jī)與錄音,去河邊找鬼办陷。 笑死貌夕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的民镜。 我是一名探鬼主播啡专,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼制圈!你這毒婦竟也來(lái)了们童?” 一聲冷哼從身側(cè)響起畔况,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎慧库,沒(méi)想到半個(gè)月后跷跪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡完沪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年域庇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片覆积。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡听皿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宽档,到底是詐尸還是另有隱情尉姨,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布吗冤,位于F島的核電站又厉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏椎瘟。R本人自食惡果不足惜覆致,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肺蔚。 院中可真熱鬧煌妈,春花似錦、人聲如沸宣羊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)仇冯。三九已至之宿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苛坚,已是汗流浹背比被。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泼舱,地道東北人等缀。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像柠掂,于是被迫代替她去往敵國(guó)和親项滑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容