關(guān)于面向?qū)ο缶幊?/h2>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2017年3月21日 ?于青島軟件園 ?夜 21:42

? ? ? ?以前看過(guò)一個(gè)節(jié)目,其中有一個(gè)情節(jié):一個(gè)小女孩對(duì)幾本文言文書籍熟讀能背像《三字經(jīng)》,《詩(shī)經(jīng)》,《笠翁對(duì)韻》。主持人吃驚的她的媽媽,這么小讓她接觸文言文,小孩子不會(huì)覺得難而反感,為什么現(xiàn)在還興致勃勃。他媽媽的答案里有一句話至今讓我記憶猶新:“...小孩子的世界里沒有難易概念的...”

? ? ? ? 是啊,一片白紙,你上什么顏色,它就接受什么顏色。它沒有什么去對(duì)比。就如我們一般,沒有接觸過(guò)機(jī)器語(yǔ)言,匯編語(yǔ)言,甚至C語(yǔ)言,直接就是C#。所有我們大多數(shù)人沒有對(duì)C#關(guān)于直接面向?qū)ο笏枷敕椒ǔ鰜?lái)而感到神奇的覺悟。(后續(xù)待更)


(整理筆記)

面向?qū)ο缶幊?

1.構(gòu)造方法:

Man類后面的“()”,其實(shí)就是構(gòu)造方法。只要你想創(chuàng)建類或結(jié)構(gòu)的實(shí)例,必須調(diào)用它的構(gòu)造方法,構(gòu)造方法負(fù)責(zé)對(duì)類里面的字段進(jìn)行初始化。(初始化 int 類型為0,bool類型為 false,char,string類型為“空”....)

定義:構(gòu)造方法必須類重名; 構(gòu)造方法沒有返回值,但可以有參數(shù);

構(gòu)造方法可以有多個(gè)重載; ?不帶參數(shù)的構(gòu)造方法為默認(rèn)構(gòu)造;

小結(jié): 構(gòu)造方法的本質(zhì)是一個(gè)構(gòu)造器,是為了類的實(shí)例化而產(chǎn)生;

? ? ? ? ? ? 構(gòu)造方法是一種特殊的方法,它沒有返回值,它必須與類重名,它只能在初始化的時(shí)候 ? ? ? ? ? ? 被系統(tǒng)自動(dòng)執(zhí)行,外部不能調(diào)用;

? ? ? ? ? 如果將構(gòu)造函數(shù)設(shè)置為private,則不能被外部實(shí)例化;

? ? ? ? ? 如果類里面有帶參數(shù)的構(gòu)造方法,想調(diào)默認(rèn)構(gòu)造時(shí),必須把默認(rèn)構(gòu)造顯示寫出來(lái);

遇到小問題:


答案如下: 可以

2.析構(gòu)方法:

析構(gòu)方法: 析構(gòu)方法用于析構(gòu)類的實(shí)例,構(gòu)造方法用于實(shí)例化,分配內(nèi)存空間,而析構(gòu)方法正 ? ? ? ? ? ? ? ? ? ? ?好與它相反,用于釋放內(nèi)存空間


小結(jié):不能再結(jié)構(gòu)中定義析構(gòu)方法,只能對(duì)類使用析構(gòu)方法;

? ? ? ? ? ? 一個(gè)類只能有一個(gè)析構(gòu)方法;

? ? ? ? ? ?無(wú)法繼承或重載析構(gòu)方法;

? ? ? ? ? ? 它們是被自動(dòng)調(diào)用的;

? ? ? ? ? ?析構(gòu)方法既沒有修飾符,也沒有參數(shù);

3.面向?qū)ο蟪绦蛟O(shè)計(jì):

? ? ? ? ? ? 面向過(guò)程:分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?的時(shí)候一個(gè)一個(gè)一次調(diào)用就可以了。

? ? ? ? ? ? ?面向?qū)ο螅喊褬?gòu)成事物分解成各個(gè)對(duì)象,創(chuàng)建對(duì)象后用對(duì)象調(diào)用各自方法以達(dá)到解決問 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?題的目的

? ? ? ? ? ?特性:封裝,繼承,多態(tài),(密封);

? ? ? ? ? ?OOP(面向?qū)ο缶幊蹋┻_(dá)到軟件工程的三個(gè)目標(biāo):重用性,靈活性,擴(kuò)展性;

4.面向?qū)ο蟮奶匦裕?/h4>

封裝:是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的第一步,封裝就是將數(shù)據(jù)或者函數(shù)等集合在一個(gè)個(gè)的單元中 ? ? ? ? ? ? (我們稱之為類)

? ? ? ? ? ? 意義,在于保護(hù)或者防止代碼(數(shù)據(jù))被我們無(wú)意中破壞,在于高效的調(diào)動(dòng)各個(gè)對(duì)象資 ? ? ? ? ? ? 源;

? ? ? ? ? ? 就是對(duì)類成員的再次包裝,這樣寫更規(guī)范: ?Get方法,Set方法對(duì)字段的封裝,屬性對(duì) ? ? ? ? ? ? ? 字段的封裝


繼承:繼承用于創(chuàng)建可重用,擴(kuò)展和修改在其他類中定義的行為的新類。其成員被繼承的類稱 ? ? ? ? ? ? 為“基類”,繼承這些成員的類稱為“派生類”。派生類只能有一個(gè)直接基類。但是,繼承是 ? ? ? ? ? ? 可以傳遞的。如果ClassB派生出ClassC,ClassA派生出ClassB,則ClassC會(huì)繼承 ? ? ? ? ? ? ? ? ? ? ClassB和ClassA中的成員;

通過(guò)在派生類名后面追加冒號(hào)和基類名稱,可以指定基類

在創(chuàng)建子類的時(shí)候,必須要調(diào)用父類的構(gòu)造方法,調(diào)用方式有兩種:1,隱式調(diào)用2,顯示調(diào)用 ? ? ? ? ? (base) ? ?隱式調(diào)用用了父類的無(wú)參構(gòu)造器

(后續(xù))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容