揭開面向?qū)ο蟮纳衩孛婕啠?/h1>

工廠模式

工廠模式是軟件工程領(lǐng)域一種廣為人知的設(shè)計模式掂骏,而由于在ECMAScript中無法創(chuàng)建類晃虫,

因此用函數(shù)封裝以特定接口創(chuàng)建對象。其實現(xiàn)方法非常簡單兔魂,

也就是在函數(shù)內(nèi)創(chuàng)建一個對象族跛,給對象賦予屬性及方法再將對象返回即可闰挡。

/*

可以看到工廠模式的實現(xiàn)方法非常簡單,解決了創(chuàng)建多個相似對象的問題礁哄,

但是工廠模式卻無從識別對象的類型长酗,因為全部都是Object,不像Date桐绒、Array等夺脾,

因此出現(xiàn)了構(gòu)造函數(shù)模式。

*/



/*

這個例子與工廠模式中除了函數(shù)名不同以外茉继,還發(fā)現(xiàn)許多不同之處:

函數(shù)名首寫字母為大寫 ∵职取(雖然標(biāo)準(zhǔn)沒有嚴(yán)格規(guī)定首寫字母為大寫,但按照慣例馒疹,構(gòu)造函數(shù)的首寫字母用大寫)

沒有顯示的創(chuàng)建對象

直接將屬性和方法賦值給了this對象

沒有return語句

使用new創(chuàng)建對象

能夠識別對象(這正是構(gòu)造函數(shù)模式勝于工廠模式的地方)

*/


類的概念:類是具有相同屬性和服務(wù)的一組對象的集合佳簸。它為屬于該類的所有對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個主要部分颖变。在面向?qū)ο蟮木幊陶Z言中生均,類是一個獨(dú)立的程序單位,它應(yīng)該有一個類名并包括屬性說明和服務(wù)說明兩個主要部分腥刹。在 javascript 中是不支持"類"的.



封裝

我們可以在 js 中模擬出"類",在類中把我們要用的屬性和方法, 封裝好, 方便調(diào)用, 下邊這個例子就是封裝.

/*

假定我們把貓看成一個對象马胧,它有"名字"和"顏色"兩個屬性。

*/varobj={name :'',color :''}/*

現(xiàn)在衔峰,我們需要根據(jù)這個原型對象的規(guī)格(schema)佩脊,生成兩個實例對象。

*/varcat1={};// 創(chuàng)建一個空對象cat1.name="大毛";// 按照原型對象的屬性賦值cat1.color="黃色";varcat2={};cat2.name="二毛";cat2.color="黑色";/*

好了垫卤,這就是最簡單的封裝了威彰,把兩個屬性封裝在一個對象里面。

但是穴肘,這樣的寫法有兩個缺點歇盼,一是如果多生成幾個實例,寫起來就非常麻煩评抚;

二是實例與原型之間豹缀,沒有任何辦法伯复,可以看出有什么聯(lián)系。


繼承

子類繼承父類的屬性和方法, 就想兒子繼承父親的財產(chǎn)一樣.



私有屬性和私有方法

私有屬性和私有方法, 是某個對象私有的, 不能隨意調(diào)用, 就像你的私有物品別人不能隨便拿一樣.


數(shù)據(jù)共享

數(shù)據(jù)共享就是同一種數(shù)據(jù)類型, 不同實例化后都可以調(diào)用, 如果其中一個調(diào)用了改變了原來的數(shù)據(jù)類型,

其他的實例化也將受到影響.


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

  • 序言:七十年代末邢笙,一起剝皮案震驚了整個濱河市啸如,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氮惯,老刑警劉巖叮雳,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妇汗,居然都是意外死亡债鸡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門铛纬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唬滑,你說我怎么就攤上這事告唆。” “怎么了晶密?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵擒悬,是天一觀的道長。 經(jīng)常有香客問我稻艰,道長懂牧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任尊勿,我火速辦了婚禮僧凤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘元扔。我一直安慰自己躯保,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布澎语。 她就那樣靜靜地躺著途事,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擅羞。 梳的紋絲不亂的頭發(fā)上尸变,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音减俏,去河邊找鬼召烂。 笑死,一個胖子當(dāng)著我的面吹牛垄懂,可吹牛的內(nèi)容都是我干的骑晶。 我是一名探鬼主播痛垛,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桶蛔!你這毒婦竟也來了匙头?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤仔雷,失蹤者是張志新(化名)和其女友劉穎蹂析,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碟婆,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡电抚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了竖共。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝙叛。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖公给,靈堂內(nèi)的尸體忽然破棺而出借帘,到底是詐尸還是另有隱情,我是刑警寧澤淌铐,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布肺然,位于F島的核電站,受9級特大地震影響腿准,放射性物質(zhì)發(fā)生泄漏际起。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一吐葱、第九天 我趴在偏房一處隱蔽的房頂上張望街望。 院中可真熱鬧,春花似錦唇撬、人聲如沸它匕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豫柬。三九已至,卻和暖如春扑浸,著一層夾襖步出監(jiān)牢的瞬間烧给,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工喝噪, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留础嫡,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像榴鼎,于是被迫代替她去往敵國和親伯诬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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