今日為oop的學習整理如下:
oop:面向?qū)ο笳煺颍Q叫object oriented programing
面向?qū)ο蟮娜筇匦裕?/p>
1.封裝
2.繼承
3.多態(tài)
類的定義:實際上就是具有相同屬性和特征的一類事物的抽象集合。
類和對象的關(guān)系:類是對象的抽象妖枚,對象是類的實例锐想。
對象的定義:抽象類的實例泡躯。
1.知道了類的定義,如何定義類?
使用系統(tǒng)關(guān)鍵字
(訪問修飾符internal)可省略class?+類名{
}
注意一點:類和類之間屬于同級關(guān)系
2.如何描述類的特征
叫字段或者類成員變量
字段和普通局部變量的區(qū)別;
局部變量沒有初始化,訪問該局部變量時編譯不會通過缚柏,訪問字段則通過
3.實例化對象
采用系統(tǒng)關(guān)鍵字new?+類名();
new關(guān)鍵字的作用
(1)開辟一塊新的內(nèi)存空間在堆區(qū)域
(2)在開辟出來的內(nèi)存空間中存對象信息(字段苹熏,屬性,方法)
(3)初始化對象(調(diào)用構(gòu)造函數(shù))
4.如何描述類的行為
叫方法或者函數(shù)
語法格式:修飾詞+函數(shù)返回值+函數(shù)名(方法名)(形參列表)
{
方法體(函數(shù)體);
}
5.修飾符()
public:公開的意思,常用語修飾類,修飾類字段,修飾類中的方法
就是非本類之外也可以訪問
private:私有的意思轨域,常用語修飾字段袱耽,方法,也是我們c#語句中默認的修飾符.
就是只有本類才可以訪問干发。
internal:程序集內(nèi)部可以訪問的
protectd:基類&&派生類可以訪問
6.方法的返回值
如果方法有返回值朱巨,就返回方法的實際類型的返回值,關(guān)鍵字return?+返回內(nèi)容;
如果方法沒有返回值枉长,可以省略return不寫冀续,直接寫方法體內(nèi)的方法塊即可。
如果方法內(nèi)存在多個return語句只返回第一個return語句塊,剩下的不會執(zhí)行;
四種方法:
有參有返回值
有參無返回值
無參有返回值
無參無返回值
7.枚舉變量
格式:enum??+枚舉名稱
{
枚舉變量1,
枚舉變量2,
枚舉變量3,
枚舉變量4
}
8.構(gòu)造函數(shù)(重點掌握)
構(gòu)造函數(shù)的作用:讓一個類更完整.
構(gòu)造函數(shù)其實就是用來創(chuàng)建對象必峰,初始化字段用的
構(gòu)造函數(shù)的語法格式:修飾符+類名()
{
}
構(gòu)造函數(shù)的特點:
1.構(gòu)造函數(shù)壓根就沒有返回值
2.構(gòu)造函數(shù)的名稱必須與類型保持一致
3.構(gòu)造函數(shù)支持方法重載洪唐,換句話說就是可以有多個構(gòu)造函數(shù).
4.構(gòu)造函數(shù)無法進行手動調(diào)用(系統(tǒng)自動調(diào)用).
5.如果類中不包含構(gòu)造函數(shù),那么系統(tǒng)會自動的為該類添加一個無參數(shù)的構(gòu)造函數(shù)
6.如果類中存在帶有參數(shù)的構(gòu)造函數(shù)吼蚁,那么系統(tǒng)不會為該類添加無參的構(gòu)造函數(shù)凭需,那么
創(chuàng)建對象必須使用帶有參數(shù)的那個構(gòu)造函數(shù)
?