日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

例程實(shí)作  ----庖丁解羊(上)(轉(zhuǎn))

例程實(shí)作 ----庖丁解羊(上)(轉(zhuǎn))

更新時(shí)間:2022-04-28 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

例程實(shí)作

----庖丁解羊(上)

作者:HolyFire



在《庖丁解羊----劃分》我們?cè)?jīng)將一只可愛(ài)的小羊拆成了零件,不知道是否還能否記得那道全羊譜。呵呵,說(shuō)得口水都要流下來(lái)了。這里呢,沒(méi)有美味可口的羊肉,只有我在給各位講如何將我們學(xué)習(xí)的方法應(yīng)用到編程中來(lái)。



首先呢我們要把結(jié)構(gòu)看清楚,也就是下面我東拼西湊起來(lái)的圖形,你們都看到了,我的ASCII藝術(shù)還差的遠(yuǎn)呢,呵呵,不過(guò)還能看明白。





山羊

┏━━━━━━━━━━━┳━━━┻━━━━━━━━━┳━━━━━━┓

腦袋軀體尾部四肢

┏━━╋━━┳━━┓ ┏━┳━╋━┳━━┳━━┓┏━━╋━━┓ ┏━┻━┓

骨架胡子五官 絨毛胸腹背 內(nèi)臟絨毛骨架尾巴絨毛骨架前肢后肢

┏━━┳┻━┳━━┓┏━┳━┳┻┳━┳━┳━┓┏━━╋━━┳┛

耳朵眼睛鼻子嘴巴 心脾肝肺胃腸腎腳絨毛骨架





結(jié)構(gòu)圖



這樣一來(lái),我們心里面就不是一塊一塊零碎的羊雜燴了,而是一部分一部分串在一起的整體。我們從底部開(kāi)始向上觀察,你會(huì)發(fā)現(xiàn)這是一個(gè)重組的過(guò)程。反之是一個(gè)分解過(guò)程。



而我們又將一些最小的單元?dú)w結(jié)為{輪廓,顏色},這是外表上能感知到的信息。



通過(guò)這些信息,我們發(fā)現(xiàn)自底向上解決這個(gè)問(wèn)題好一些,人們總是樂(lè)意從簡(jiǎn)單容易的地方入手,這也是我一開(kāi)始要做劃分的原因。



胡子{輪廓 , 顏色}絨毛{輪廓 , 顏色}骨架{輪廓 , 顏色}

胸{輪廓 ,顏色}腹{輪廓 , 顏色}背{輪廓 , 顏色}

眼睛{輪廓 , 顏色}鼻子{輪廓 , 顏色}嘴巴{輪廓 , 顏色}

心{輪廓 ,顏色}脾{輪廓 , 顏色}肝{輪廓 , 顏色}

腸{輪廓 ,顏色}腎{輪廓 , 顏色}腳{輪廓 , 顏色}

尾巴{輪廓 , 顏色}耳朵{輪廓 , 顏色}肺{輪廓 , 顏色}

胃{輪廓 ,顏色}



可以看出這些單位的組成都是一樣的,我們可以將它統(tǒng)稱為羊的部分。



部分{輪廓,顏色}

絨毛,骨架,胸,腹,背,眼睛,鼻子,胡子,嘴巴,心,脾,肝,腸,腎,腳,尾巴,耳朵,肺,胃{{部分}}



前肢{腳,絨毛,骨架}

后肢{腳,絨毛,骨架}



前肢與后肢也有著一樣的結(jié)構(gòu)哦



肢體{腳,絨毛,骨架}

前肢,后肢{肢體}



四肢{前肢,后肢}

內(nèi)臟{心,脾,肝,肺,胃,腸,腎}

五官{耳朵,眼睛,鼻子,嘴巴}

尾部{尾巴,絨毛,骨架}

軀體{胸,腹,背,內(nèi)臟,絨毛,骨架}

腦袋{五官,胡子,絨毛,骨架}

山羊{腦袋,軀體,四肢,尾部}



其實(shí),這些有各個(gè)部分組合起來(lái)的整體,如:前肢,后肢,軀體等等也是羊的一部分。



肢體{{部分},腳,絨毛,骨架 }

前肢,后肢{肢體}



四肢{{部分},前肢,后肢}

內(nèi)臟{{部分},心,脾,肝,肺,胃,腸,腎}

五官{{部分},耳朵,眼睛,鼻子,嘴巴}

尾部{{部分},尾巴,絨毛,骨架}

軀體{{部分},胸,腹,背,內(nèi)臟,絨毛,骨架}

腦袋{{部分},五官,胡子,絨毛,骨架}

山羊{{腦袋},軀體,四肢,尾部}



如果一個(gè)完整的整體是一個(gè)部分的特例的話,那么山羊也應(yīng)該是一個(gè)部分。



山羊{部分,腦袋,軀體,四肢,尾部}



這樣一來(lái),就可以方便的表示結(jié)構(gòu)圖的部分--整體的關(guān)系了。



部分{輪廓,顏色}

絨毛,骨架,胸,腹,背,眼睛,鼻子,嘴巴,心,脾,肝,腸,腎,腳,尾巴,耳朵,肺,胃{{部分}}

肢體{{部分},腳,絨毛,骨架 }

前肢,后肢{肢體}

四肢{{部分},前肢,后肢}

內(nèi)臟{{部分},心,脾,肝,肺,胃,腸,腎}

五官{{部分},耳朵,眼睛,鼻子,嘴巴}

尾部{{部分},尾巴,絨毛,骨架}

軀體{{部分},胸,腹,背,內(nèi)臟,絨毛,骨架}

腦袋{{部分},五官,胡子,絨毛,骨架}

山羊{{部分},腦袋,軀體,四肢,尾部}



那么,現(xiàn)在是開(kāi)始運(yùn)用頭腦思考的時(shí)候了。



羊的部分可以是一根顫巍巍的胡子,也可以是一個(gè)晃來(lái)晃去的尾巴,他們有共同的屬性:輪廓和顏色,但是由腳,絨毛,骨架組成的肢體也是一個(gè)部分,他們有什么共同之處呢,用部分做基類是不是有點(diǎn)牽強(qiáng)呢。其實(shí)一個(gè)部分輪廓和顏色是什么樣的對(duì)于我們并不重要,而且封裝的原則是不應(yīng)該讓使用者知道內(nèi)部結(jié)構(gòu),所以我們只要提供一個(gè)方法來(lái)描繪這個(gè)部分在視覺(jué)上的效果就可以了。如何讓一個(gè)方法可以表現(xiàn)不同的效果呢,switch ? if else ? No!



我們有更好方法----多態(tài),繼承的結(jié)構(gòu)已經(jīng)有了,缺的就是虛函數(shù)了。



部分{顯示=無(wú)顯示}如何表現(xiàn)一個(gè)未知的物體?無(wú)意義,一個(gè)純虛函數(shù)正好勝任。

輪廓{顯示}并非只有羊的部分才是可以體現(xiàn)視覺(jué)效果的,而且視覺(jué)效果是人與羊的關(guān)系,并非羊的一部分。

絨毛{{部分,顯示=顯示絨毛},輪廓,顏色}

骨架{{部分,顯示=顯示骨架},輪廓,顏色}

胸{{部分,顯示=顯示胸},輪廓,顏色}

腹{{部分,顯示=顯示腹},輪廓,顏色}

背{{部分,顯示=顯示背},輪廓,顏色}

眼睛{{部分,顯示=顯示眼睛},輪廓,顏色}

鼻子{{部分,顯示=顯示鼻子},輪廓,顏色}

嘴巴{{部分,顯示=顯示嘴巴},輪廓,顏色}

胡子{{部分,顯示=顯示胡子},輪廓,顏色}

心{{部分,顯示=顯示心},輪廓,顏色}

脾{{部分,顯示=顯示脾},輪廓,顏色}

肝{{部分,顯示=顯示肝},輪廓,顏色}

腸{{部分,顯示=顯示腸},輪廓,顏色}

腎{{部分,顯示=顯示腎},輪廓,顏色}

腳{{部分,顯示=顯示腳},輪廓,顏色}

尾巴{{部分,顯示=顯示尾巴},輪廓,顏色}

耳朵{{部分,顯示=顯示耳朵},輪廓,顏色}

肺{{部分,顯示=顯示肺},輪廓,顏色}

胃{{部分,顯示=顯示胃},輪廓,顏色}

由于各個(gè)部分不確定,所以需要用一個(gè)輪廓來(lái)描述,既然輪廓可以描述出形狀,加上顏色想必就能重現(xiàn)視覺(jué)效果,由此可見(jiàn)輪廓與顏色也是有關(guān)系的,他們結(jié)合在一起體現(xiàn)視覺(jué)效果。他們是間接的體現(xiàn)了這個(gè)部分的,比如

絨毛{{部分,顯示=顯示絨毛},輪廓,顏色}

事實(shí)上是

絨毛{{部分,顯示=輪廓+顏色},輪廓,顏色}

這樣一來(lái)這些基本單位又從新使用同一接口。

絨毛,骨架,胸,腹,背,眼睛,鼻子,胡子,嘴巴,心,脾,肝,腸,腎,腳,尾巴,耳朵,肺,胃{{部分,顯示=輪廓+顏色},輪廓,顏色}

肢體{{部分, 顯示=顯示肢體},腳,絨毛,骨架}

前肢,后肢{{肢體}}

四肢{{部分,顯示=顯示四肢},前肢,后肢}

內(nèi)臟{{部分,顯示=顯示內(nèi)臟},心,脾,肝,肺,胃,腸,腎}

五官{{部分,顯示=顯示五官},耳朵,眼睛,鼻子,嘴巴}

尾部{{部分,顯示=顯示尾部},尾巴,絨毛,骨架}

軀體{{部分,顯示=顯示軀體},胸,腹,背,內(nèi)臟,絨毛,骨架}

腦袋{{部分,顯示=顯示腦袋},五官,胡子,絨毛,骨架}

山羊{{部分,顯示=顯示山羊},腦袋,軀體,四肢,尾部}

這些組合的部分是由一些基本的部分組成的,那么它們的視覺(jué)效果是這些基本的部分的整體效果。



部分{顯示=無(wú)顯示}

輪廓{顯示}

絨毛,骨架,胸,腹,背,眼睛,胡子,鼻子,嘴巴,心,脾,肝,腸,腎,腳,尾巴,耳朵,肺,胃{{部分,顯示=輪廓+顏色},輪廓,顏色}

肢體{{部分, 顯示=顯示肢體},腳,絨毛,骨架}

前肢,后肢{{肢體}}

四肢{{部分,顯示=顯示四肢},前肢,后肢}

內(nèi)臟{{部分,顯示=顯示內(nèi)臟},心,脾,肝,肺,胃,腸,腎}

五官{{部分,顯示=顯示五官},耳朵,眼睛,鼻子,嘴巴}

尾部{{部分,顯示=顯示尾部},尾巴,絨毛,骨架}

軀體{{部分,顯示=顯示軀體},胸,腹,背,內(nèi)臟,絨毛,骨架}

腦袋{{部分,顯示=顯示腦袋},五官,胡子,絨毛,骨架}

山羊{{部分,顯示=顯示山羊},腦袋,軀體,四肢,尾部}



再三分析以后,我們發(fā)現(xiàn)比起一開(kāi)始的結(jié)構(gòu)圖來(lái)說(shuō),最后的模型竟然如此的精簡(jiǎn),我想這樣已經(jīng)可以接受了。



現(xiàn)在整體—部分的關(guān)系已經(jīng)弄清楚了,現(xiàn)在要做的是如何將它與現(xiàn)實(shí)中的事物對(duì)應(yīng)起來(lái),也就是具體如何組合。



那么讓我們開(kāi)始念叨一下,我們?cè)鯓佑蒙厦嬉阎膬?nèi)容來(lái)描述一只山羊呢。



山羊:一個(gè)腦袋,一個(gè)軀體,一個(gè)四肢,一個(gè)尾部

腦袋:一個(gè)五官,一把胡子,一些絨毛,一個(gè)骨架

軀體:一個(gè)胸部,一個(gè)腹部,一個(gè)背部,一些內(nèi)臟,一些絨毛,一個(gè)骨架

尾部:一條尾巴,一些絨毛,一個(gè)骨架

五官:兩只耳朵,兩只眼睛,一只鼻子,一張嘴巴

內(nèi)臟:一個(gè)心臟,一個(gè)脾臟,一個(gè)肝臟,兩個(gè)肺臟,一個(gè)胃,一些腸,兩只腎臟}

四肢:兩只前肢,兩只后肢

肢體:一只腳,一些絨毛,一個(gè)骨架



不然看出數(shù)量在組成上有著重要的地位,所以我們的模型上還要加上基數(shù)這個(gè)概念



部分{顯示=無(wú)顯示}

輪廓{顯示}

絨毛,骨架,胸,腹,背,胡子,眼睛,鼻子,嘴巴,心,脾,肝,腸,腎,腳,尾巴,耳朵,肺,胃{{部分,顯示=輪廓+顏色},輪廓[1],顏色[1]}

肢體{{部分, 顯示=顯示肢體},腳[1],絨毛[n],骨架[1]}

前肢,后肢{{肢體}}

四肢{{部分,顯示=顯示四肢},前肢[2],后肢[2]}

內(nèi)臟{{部分,顯示=顯示內(nèi)臟},心[1],脾[1],肝[1],肺[2],胃[1],腸[n],腎[2]}

五官{{部分,顯示=顯示五官},耳朵[2],眼睛[2],鼻子[1],嘴巴[1]}

尾部{{部分,顯示=顯示尾部},尾巴[1],絨毛[n],骨架[1]}

軀體{{部分,顯示=顯示軀體},胸[1],腹[1],背[1],內(nèi)臟[1],絨毛[n],骨架[1]}

腦袋{{部分,顯示=顯示腦袋},五官[1],胡子[n],絨毛[n],骨架[1]}

山羊{{部分,顯示=顯示山羊},腦袋[1],軀體[1],四肢[1],尾部[1]}



這樣的話,更接近現(xiàn)實(shí)的事物,而且降低了問(wèn)題的復(fù)雜度。



經(jīng)過(guò)一大堆的分析,這個(gè)模型也相對(duì)比較清晰了,可以接受了,不過(guò)不代表這是最好的模型,一定會(huì)有更好的模型的。但是我們并不需要最完美的模型,只要有一個(gè)合適的模型就可以了,在這里,作為我的需要,就已經(jīng)很合適了。



不用說(shuō),現(xiàn)在開(kāi)始進(jìn)入編碼階段了。經(jīng)過(guò)上面的分析,相信我們心里有很多很多事要去做,不要急,慢慢來(lái),亂了陣腳可不行。



限于篇幅,我不能將圖形顯示方面的內(nèi)容加進(jìn)來(lái),一來(lái)內(nèi)容太多會(huì)混淆實(shí)現(xiàn),不能突出重點(diǎn);二來(lái)容易將思路引到細(xì)節(jié)的實(shí)現(xiàn)上去,反而忽略了全局;再來(lái)有關(guān)圖形顯示與編譯器和操作系統(tǒng)的關(guān)系緊密,并不適合我講的內(nèi)容;最后,本人的藝術(shù)細(xì)胞極度匱乏,如果畫(huà)出來(lái)的形象讓大家失望,豈不是自討沒(méi)趣,哈哈,玩笑歸玩笑,讓我們繼續(xù)吧。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 狠狠色伊人亚洲综合成人 | 国产精选 桃色阁 | 欧美亚洲午夜 | 亚洲精品国产一区二区三区四区 | 久久精品九九 | 日本3p视频在线看高清 | 免费高清一级欧美片在线观看 | 男人天堂国产 | 欧美日韩中文国产va另类 | 国产91视频网 | 免费特黄一区二区三区视频一 | 欧美激情综合色综合啪啪五月 | 亚洲精品一区激情区偷拍 | 精品久久久久久免费影院 | 国产黑丝在线播放 | 男人天堂免费视频 | 黑人狂躁日本妞中文字幕 | 日本三级黄色片 | 综合久久99久久99播放 | 99视频免费在线观看 | 精品久久久久久无码中文字幕 | 成人福利在线观看免费视频 | 亚洲国产精品综合久久久 | 欲香欲色 | 欧美啪啪一区 | 青青久久国产成人免费网站 | 国产免费播放 | 在线成人精品国产区免费 | 激情欧美一区二区三区中文字幕 | 久草热久 | 国产免费小视频在线观看 | 欧美性色生活片天天看99 | 欧美黑人性暴力猛交喷水 | 一97日本道伊人久久综合影院 | 亚洲码和乱人伦中文一区 | 免费五级在线观看日本片 | 亚洲欧美日韩成人网 | ass巨大胖女人sias | 成人影院vs一区二区 | 国产一区二区三区免费观看 | 国产女人一区二区 |