【大话设计模式】——浅谈设计模式基础
初學(xué)設(shè)計(jì)模式給我最大的感受是:人類真是偉大啊!單單是設(shè)計(jì)模式的基礎(chǔ)課程就讓我感受到了強(qiáng)烈的生活氣息。
個(gè)人感覺《大話設(shè)計(jì)模式》這本書寫的真好。讓貌似非常晦澀難懂的設(shè)計(jì)模式變的生活化。趣味化。
以下淺談一下對設(shè)計(jì)模式基礎(chǔ)的理解,假設(shè)理解的不好。還請大家指正。
首先設(shè)計(jì)模式是對面向?qū)ο蟮母鼘I(yè)的詮釋。面向?qū)ο蟮娜蠡咎卣魇抢^承、封裝、多態(tài)。
繼承:
1.子類繼承父類非private的屬性和功能。
個(gè)人理解:有幾個(gè)老婆是私有屬性,小明他爸有好幾個(gè)老婆。小明呢。恰好趕上了國家頒布法律一夫一妻 制(怎么這么衰呢~)。那他是不能繼承他老爹的私有屬性的。
他老爹在他的年代(類)里面 是合法的(可調(diào)用私有變量)。
2.子類可擴(kuò)展父類沒有的功能。
個(gè)人理解:原始人不會做飯,如今有了烹飪。
3.子類能夠以自己的方式實(shí)現(xiàn)父類的功能
個(gè)人理解:曾經(jīng)取火是鉆木取火,現(xiàn)取火能夠用打火機(jī)了。
多態(tài):
表示不同的對象可運(yùn)行同樣的動(dòng)作,但要通過它們自己的實(shí)現(xiàn)代碼來運(yùn)行。
個(gè)人理解:條條大路通羅馬。
通過什么來實(shí)現(xiàn)多態(tài)呢?比方方法重載,抽象類。集合。泛型。
方法重載:提供了創(chuàng)建同名的多個(gè)方法的能力,但這些方法須要使用不同的參數(shù)類型。
封裝:
每一個(gè)對象都包括它能進(jìn)行操作所須要的全部信息。這個(gè)特性成為封裝,因此對象不必依賴其它對象來完畢自己的操作。
封裝主要涉及到的知識點(diǎn)是類與實(shí)例、屬性與修飾符、構(gòu)造方法、接口、托付。
接口:把隱式公共方法和屬性組合起來,以封裝特定功能的一個(gè)集合。(行為的抽象)
托付:對函數(shù)的封裝,是一種引用方法的類型。(把一堆方法打包)
VS
區(qū)分類和接口:
- 類是對象的抽象。抽象類(總體)是對類的抽象;接口(局部)是對行為的抽象。
- 假設(shè)行為跨越不同類的對象,可使用接口;對于一些相似的類對象,用繼承抽象類。
- 從設(shè)計(jì)角度。抽象類是從子類中發(fā)現(xiàn)公共的東西,泛化出父類。然后子類繼承父類。而接口是根本不知子類的存在。方法怎樣實(shí)現(xiàn)還不確認(rèn),預(yù)先定義。
區(qū)分抽象方法和虛方法:
? ? ? ? 1.keyword不同:虛方法是vritual,抽象方法是abstract
2. 虛方法能夠有方法體,抽象方法沒有方法體。
? ? ? ? 3.虛方法能夠定義在抽象類和非抽象類中。能夠?qū)懺诟割愔?#xff0c;在子類別重寫,定義虛方法必須實(shí)現(xiàn);抽象方法必須定義在抽象類中,必須寫在父類中,在子類中必須被重寫,在定義抽象方法時(shí)不能實(shí)現(xiàn)方法。
區(qū)分抽象類和接口:
?學(xué)習(xí)心得:
1.繼承、封裝給了我一種大道至簡的感覺;多態(tài)讓我體會到了生活的多姿多彩。
2.繼承、封裝、多態(tài)跟我們推崇的學(xué)習(xí)方法也非常相似。
把反復(fù)性的東西加以歸納和總結(jié),將知識變少,不同讓我們更好的了解這個(gè)事物。
3.我們須要總結(jié)共性的東西,免去了非常多無用功;體會個(gè)性的東西。解決一個(gè)問題能夠多角度的思考,這樣才有助于鍛煉我們的發(fā)散思維,提高我們解決未知問題的能力。
轉(zhuǎn)載于:https://www.cnblogs.com/jzdwajue/p/6991047.html
總結(jié)
以上是生活随笔為你收集整理的【大话设计模式】——浅谈设计模式基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闪电勇者性格哪个最好
- 下一篇: #418 Div2 Problem B