? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2017年3月21日 ?于青島軟件園 ?夜 21:42
? ? ? ?以前看過一個(gè)節(jié)目,其中有一個(gè)情節(jié):一個(gè)小女孩對幾本文言文書籍熟讀能背像《三字經(jīng)》凸主,《詩經(jīng)》橘券,《笠翁對韻》。主持人吃驚的她的媽媽卿吐,這么小讓她接觸文言文旁舰,小孩子不會(huì)覺得難而反感,為什么現(xiàn)在還興致勃勃嗡官。他媽媽的答案里有一句話至今讓我記憶猶新:“...小孩子的世界里沒有難易概念的...”
? ? ? ? 是啊箭窜,一片白紙,你上什么顏色衍腥,它就接受什么顏色磺樱。它沒有什么去對比。就如我們一般婆咸,沒有接觸過機(jī)器語言竹捉,匯編語言,甚至C語言尚骄,直接就是C#块差。所有我們大多數(shù)人沒有對C#關(guān)于直接面向?qū)ο笏枷敕椒ǔ鰜矶械缴衿娴挠X悟。(后續(xù)待更)
(整理筆記)
面向?qū)ο缶幊?
1.構(gòu)造方法:
Man類后面的“()”乖仇,其實(shí)就是構(gòu)造方法憾儒。只要你想創(chuàng)建類或結(jié)構(gòu)的實(shí)例,必須調(diào)用它的構(gòu)造方法乃沙,構(gòu)造方法負(fù)責(zé)對類里面的字段進(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)造顯示寫出來瀑志;
遇到小問題:
答案如下: 可以
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)方法仲吏,只能對類使用析構(gòu)方法诅挑;
? ? ? ? ? ? 一個(gè)類只能有一個(gè)析構(gòu)方法返帕;
? ? ? ? ? ?無法繼承或重載析構(gòu)方法夫嗓;
? ? ? ? ? ? 它們是被自動(dòng)調(diào)用的迟螺;
? ? ? ? ? ?析構(gòu)方法既沒有修飾符,也沒有參數(shù)舍咖;
3.面向?qū)ο蟪绦蛟O(shè)計(jì):
? ? ? ? ? ? 面向過程:分析出解決問題所需要的步驟矩父,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?的時(shí)候一個(gè)一個(gè)一次調(diào)用就可以了排霉。
? ? ? ? ? ? ?面向?qū)ο螅喊褬?gòu)成事物分解成各個(gè)對象窍株,創(chuàng)建對象后用對象調(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ù))被我們無意中破壞因苹,在于高效的調(diào)動(dòng)各個(gè)對象資 ? ? ? ? ? ? 源;
? ? ? ? ? ? 就是對類成員的再次包裝篇恒,這樣寫更規(guī)范: ?Get方法扶檐,Set方法對字段的封裝,屬性對 ? ? ? ? ? ? ? 字段的封裝
繼承:繼承用于創(chuàng)建可重用胁艰,擴(kuò)展和修改在其他類中定義的行為的新類款筑。其成員被繼承的類稱 ? ? ? ? ? ? 為“基類”,繼承這些成員的類稱為“派生類”腾么。派生類只能有一個(gè)直接基類醋虏。但是,繼承是 ? ? ? ? ? ? 可以傳遞的哮翘。如果ClassB派生出ClassC,ClassA派生出ClassB毛秘,則ClassC會(huì)繼承 ? ? ? ? ? ? ? ? ? ? ClassB和ClassA中的成員饭寺;
通過在派生類名后面追加冒號和基類名稱,可以指定基類
在創(chuàng)建子類的時(shí)候叫挟,必須要調(diào)用父類的構(gòu)造方法艰匙,調(diào)用方式有兩種:1,隱式調(diào)用2抹恳,顯示調(diào)用 ? ? ? ? ? (base) ? ?隱式調(diào)用用了父類的無參構(gòu)造器
(后續(xù))