抽象畫你是不可能會(huì)了 抽象類你還可以爭(zhēng)取一下

java零基礎(chǔ)入門-面向?qū)ο笃?/b>(十二)? 抽象類

抽象類這個(gè)玩意剪芍,理解起來費(fèi)點(diǎn)勁孤钦。我們從字面意思開始吧。

抽象一詞的本義是指人在認(rèn)識(shí)思維活動(dòng)中對(duì)事物表象因素的舍棄和對(duì)本質(zhì)因素的抽取。說人話就是刪除看的懂得吠裆,留下看不懂的渐逃。

應(yīng)用于美術(shù)領(lǐng)域够掠,便有了抽象性藝術(shù)、抽象主義茄菊、抽象派等概念疯潭。

來看一個(gè)著名的抽象派作品。

羅伯特-雷曼《無題》


84歲的美國藝術(shù)家羅伯特·雷曼1961年創(chuàng)作的油畫《無題》面殖,以折合人民幣8000萬至1.2億元的價(jià)格拍賣竖哩。

我感覺這畫跟我家衛(wèi)生間的瓷磚有點(diǎn)像,莫非我家的還是個(gè)抽象派衛(wèi)生間不成...

至于抽象類脊僚,它和抽象畫還真的有點(diǎn)相似之處

抽象畫:我告訴你我畫了一幅畫相叁,具體畫的啥,我也不知道辽幌!

抽象類:我告訴你我定義了一些方法增淹,方法具體做什么,我也不知道乌企!

為什么要抽象類

畫家分為很多流派虑润,以我淺顯的藝術(shù)知識(shí),大概分得清楚三個(gè)流派的畫家加酵,抽象派拳喻,印象派,立體派猪腕。

現(xiàn)在確定了父類 - 畫家冗澈,然后三個(gè)子類 抽象派畫家 , 印象派畫家码撰,立體派畫家去繼承畫家這個(gè)類渗柿。畫家類里面有一個(gè)方法,畫畫,這個(gè)方法是必須有的朵栖。

好了颊亮,問題出現(xiàn)了,當(dāng)我們使用父類 - 畫家創(chuàng)建對(duì)象陨溅,然后調(diào)用 畫畫這個(gè)方法的時(shí)候终惑,它應(yīng)該畫出來的是哪個(gè)流派的畫?

是不是懵圈了门扇?你就給我個(gè)畫家雹有,也沒問人家是哪一派的,就拉著人家畫畫臼寄,鬼知道他畫的啥霸奕。


無法確定畫畫的流派

這說明一個(gè)什么問題?如果我們將某一部分事物的特征抽取出來吉拳,定義成了父類质帅,其實(shí)這個(gè)父類是具有指導(dǎo)性的,而不是可實(shí)現(xiàn)性留攒。

說人話煤惩,你非要將畫家提出一個(gè)父類,那么就不要在父類里面實(shí)現(xiàn)方法炼邀,也就是不要在父類里面寫代碼邏輯魄揉。因?yàn)楦割惒⒉恢浪约罕粚?shí)例化以后,該如何實(shí)現(xiàn)方法拭宁。

比如這個(gè)畫家洛退,如果不是畫家的子類,具體到某個(gè)流派的畫家杰标,在畫家這個(gè)類里面實(shí)現(xiàn)畫畫這個(gè)方法是毫無意義的不狮。他不知道該畫個(gè)什么流派的畫出來。我們只會(huì)使用子類重寫的畫畫方法在旱,而不會(huì)使用父類的畫畫方法。


畫家的畫畫方法無人使用

有同學(xué)肯定有疑問推掸,既然我們不使用父類里面的畫畫方法桶蝎,刪掉不就行了?只在子類里面寫畫畫的方法不就行了谅畅?

那么我請(qǐng)問你登渣,你見過連畫畫都不會(huì)的畫家嗎?畫家這個(gè)類沒有畫畫這個(gè)方法毡泻,就算代碼不錯(cuò)胜茧,你的類的設(shè)計(jì)就是錯(cuò)的。類是對(duì)實(shí)際事物的抽象,這個(gè)是原則呻顽。

那該怎么做雹顺?

這時(shí)候就該抽象方法登場(chǎng)了。把畫畫這個(gè)方法定義成抽象方法廊遍,畫家父類并不實(shí)現(xiàn)任何代碼嬉愧,而是留給子類去實(shí)現(xiàn)他。你是什么派的畫家喉前,畫畫的方法就畫什么派的畫就行了没酣。

抽象類和抽象方法

看到了沒有,抽象方法的核心思想就是 啥也不做~ 具體要做的卵迂,用子類去實(shí)現(xiàn)抽象方法即可裕便。

抽象類的清規(guī)戒律

1.抽象方法不能被調(diào)用。

2.一個(gè)類被定義為抽象類以后见咒,就不能使用new關(guān)鍵字新建對(duì)象了偿衰。

3.抽象類的子類必須重寫抽象方法。

這三個(gè)規(guī)則放在一起论颅,因?yàn)樗麄?b>環(huán)環(huán)相扣哎垦。為了方便記憶,我們用代碼來講解恃疯。

首先看報(bào)錯(cuò)情況漏设。

報(bào)錯(cuò)信息

1.因?yàn)槌橄蠓椒]有方法體,啥也不干今妄,所以不能調(diào)用抽象方法郑口,因?yàn)檫@樣做毫無意義。

2.假設(shè)可以實(shí)例化抽象類盾鳞,那么就可以用抽象類的對(duì)象去調(diào)用什么也干不了的抽象方法犬性,這樣違背了第一條原則。

3.如果繼承了抽象類腾仅,而又不去重寫(實(shí)現(xiàn))抽象類的抽象方法乒裆,會(huì)發(fā)生什么?因?yàn)樽宇悰]有實(shí)現(xiàn)父類的抽象方法推励,那么用子類對(duì)象就可以調(diào)用到父類的抽象方法鹤耍,這樣也違背了第一條原則。

必須實(shí)現(xiàn)抽象方法

4.抽象類可以包含普通方法和構(gòu)造器验辞。抽象類就是專門用來被子類繼承的稿黄,如果子類都有一個(gè)不必被重寫的方法,那么可以將它定義在父類里面跌造,每個(gè)子類都可以調(diào)用他杆怕。構(gòu)造器也一樣,可以被子類復(fù)用。

比如畫家除了畫畫這個(gè)抽象方法以外陵珍,還可以有賣畫這個(gè)方法寝杖,上面那位大師的一幅畫可是賣了幾千萬。每個(gè)畫家都可以賣畫撑教,自己不去實(shí)現(xiàn)朝墩,就調(diào)用父類的方法。構(gòu)造器也是一樣伟姐,可以用super調(diào)用抽象類的構(gòu)造器收苏,大家可以自己實(shí)現(xiàn)一下。

舉個(gè)栗子

說了半天抽象類愤兵,下面再舉個(gè)例子幫助大家更好的理解一下鹿霸。

來來來,需求講解一下秆乳,現(xiàn)在要做三個(gè)功能懦鼠,請(qǐng)假,加班屹堰,外出肛冶,原型圖如下。如果是你你會(huì)怎么做扯键?

如果我們沒有一點(diǎn)點(diǎn)的抽象能力睦袖,肯定會(huì)說,這還不簡(jiǎn)單荣刑,做三個(gè)功能唄馅笙。

但是我們現(xiàn)在可是學(xué)過抽象類的人了,怎么能做這么不優(yōu)雅的事厉亏,我們必須要有設(shè)計(jì)的概念董习。

原型圖

我們觀察了原型圖以后,可以看到爱只,紅色框中的內(nèi)容皿淋,是三個(gè)功能都有的。不管你是請(qǐng)假恬试,外出沥匈,還是加班,都需要一個(gè)人來對(duì)你的請(qǐng)求進(jìn)行審批忘渔。這個(gè)是必須的(前面有個(gè)紅色星星)。

而審批轉(zhuǎn)聊天功能和抄送功能都是非必須的缰儿,可以不填畦粮。

再看藍(lán)色框框,請(qǐng)假事由必須填,照片可以不填宣赔。

外出事由是必須填的预麸,沒事別亂跑,好好上班儒将。

加班事由可以不填吏祸,叫你加班還需要理由么?

分析過后钩蚊,我們總結(jié)一下贡翘,紅色框里的是相同的功能可以提出來復(fù)用,而藍(lán)色框是每個(gè)功能獨(dú)有的砰逻。

我們看看用抽象類的高端玩家和不用抽象類的普通玩家是如何設(shè)計(jì)以上功能鸣驱。


普通玩家

普通玩家設(shè)計(jì)了三個(gè)功能,自己體會(huì)蝠咆。


高端玩家

高端玩家抽象了一個(gè)抽象父類踊东,這樣設(shè)計(jì)還有一個(gè)優(yōu)點(diǎn)。如果像普通玩家一樣設(shè)計(jì)三個(gè)獨(dú)立的類刚操,那么可能會(huì)漏掉功能闸翅,比如說在請(qǐng)假單里面,忘記寫add_reason這個(gè)方法菊霜,這是有可能發(fā)生的坚冀。

而如果設(shè)計(jì)成子類繼承抽象父類,則不會(huì)發(fā)生這種情況占卧,因?yàn)槌橄蠓椒ū仨殞?shí)現(xiàn)遗菠,不然就報(bào)錯(cuò)。這也是用抽象類來規(guī)范子類的一個(gè)好方法华蜒。

請(qǐng)好好理解本章內(nèi)容辙纬,因?yàn)橄乱徽拢瑫?huì)介紹一個(gè)比抽象類更抽象的一個(gè)知識(shí)點(diǎn)叭喜,請(qǐng)做好準(zhǔn)備贺拣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捂蕴,隨后出現(xiàn)的幾起案子譬涡,更是在濱河造成了極大的恐慌,老刑警劉巖啥辨,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涡匀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡溉知,警方通過查閱死者的電腦和手機(jī)陨瘩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門腕够,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舌劳,你說我怎么就攤上這事帚湘。” “怎么了甚淡?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵大诸,是天一觀的道長。 經(jīng)常有香客問我贯卦,道長资柔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任脸侥,我火速辦了婚禮建邓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘睁枕。我一直安慰自己官边,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布外遇。 她就那樣靜靜地躺著注簿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪跳仿。 梳的紋絲不亂的頭發(fā)上诡渴,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音菲语,去河邊找鬼妄辩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛山上,可吹牛的內(nèi)容都是我干的眼耀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼佩憾,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哮伟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妄帘,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤楞黄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后抡驼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鬼廓,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年致盟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桑阶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柏副。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蚣录,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情眷篇,我是刑警寧澤萎河,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蕉饼,受9級(jí)特大地震影響虐杯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昧港,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一擎椰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧创肥,春花似錦达舒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至趾代,卻和暖如春贯底,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撒强。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工禽捆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人飘哨。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓胚想,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杖玲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顿仇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • 設(shè)計(jì)模式概述 在學(xué)習(xí)面向?qū)ο笃叽笤O(shè)計(jì)原則時(shí)需要注意以下幾點(diǎn):a) 高內(nèi)聚、低耦合和單一職能的“沖突”實(shí)際上摆马,這兩者...
    彥幀閱讀 3,734評(píng)論 0 14
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法臼闻,類相關(guān)的語法,內(nèi)部類的語法囤采,繼承相關(guān)的語法述呐,異常的語法,線程的語...
    子非魚_t_閱讀 31,581評(píng)論 18 399
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,089評(píng)論 1 32
  • 站在天池望天池(《西部散記》之四) 藍(lán)善清 長年頂著皚皚白雪的天山蕉毯,一走進(jìn)河西...
    筆照心海閱讀 350評(píng)論 0 0
  • 4.27路靜娟【同讀一本書】~《59秒心理學(xué)》 正文:“團(tuán)隊(duì)思考”影響個(gè)人觀點(diǎn)和看法的現(xiàn)象還不止極化乓搬。④ 另外一些...
    臺(tái)一DDM路靜娟閱讀 365評(píng)論 0 0