C#之面向物件和類的關係及類的構造方法
一、前言
既然看到面向物件了,那麼什麼是面向物件,而在講到面向物件的時候還有類,而且物件和類是不可分離的,相輔相成的,在看完小楊老師講的課之後根據自己的理解和筆記總結出以下部落格。
二、物件和類的定義
1.萬物皆物件,物件由靜態屬性和動態行為組成。
在我們的生活中有很多物件,但是這些物件都是特指的,是具體的,反之可以稱之為類。比如說我們一群人,那麼這一群人就不能稱為物件,可以稱為類,說某個物件時就可以說成誰誰誰的某個東西,要特指,具體。
2.類:不是一個實體的存在。就是模子,確定物件將會擁有的特徵(屬性)和行為(方法)
類是物件的型別。
比如說車,他就是我們所說的類,它包括很多車,汽車,自行車,火車等,他們都有共同的屬性或者行為。
三、類和物件的區別
類是抽象的概念,僅僅是模板,比如說:“人”類
物件是一個你能夠看得到,摸得著的具體實體。
屬性:特徵
屬性值:描述這個特徵的值
方法:物件的行為
可以一句話來總結出類和物件的區別:類是物件的模板,物件是類的例項。類只有通過物件才可以使用,而在開發之中應該先產生類,之後再產生物件。類不能直接使用,物件是可以直接使用的。
注:類不佔記憶體,物件才佔記憶體
四、物件和類的基本特徵
在面向物件定義之中,也規定了一些基本的特徵:
1.物件
(1)封裝:保護內部的操作不被破壞;
(2)繼承:在原本的基礎之上繼續進行擴充;
(3)多型:在一個指定的範圍之內進行概念的轉換。
物件:物件是一種個性的表示,表示一個獨立的個體,每個物件擁有自己獨立的屬性,依靠屬性來區分不同物件。
2.類
類:是抽象的概念集合,表示的是一個共性的產物,類之中定義的是屬性和行為(方法);
類的定義語法
[訪問修飾符]class類名
{
成員
……..
}
類中可以包含變數的定義,方法
五、類的例項化
類的例項化,用關鍵字new 語法:類 例項名=new 類(); 類的成員的訪問: 例項名.屬性 例項名.方法名();
欄位,方法,屬性都可以做類的成員Member,他們都需要定義訪問級別,訪問級別的用處在於控制成員那些地方可以被訪問,這樣達到面向物件中“封裝”的目的。
訪問修飾符:public private(internal protected)
屬性
欄位用public修飾的問題……用private
屬性的定義.get ;set
屬性是為了保護與之對應的欄位的,保證對欄位的讀取和賦值符合要求
屬性可分為:讀寫,只讀,只寫。
允許外部訪問的變數一定要宣告為屬性。
六、類的構造方法
構造方法用來建立物件,並且可以在建構函式中對物件進行初始化。
建構函式是用來建立物件的特殊方法,方法名和類名一樣,沒有返回值,連void都不用
建構函式可以有引數new物件的時候傳遞函式引數即可
如果不指定建構函式,則不再喲預設的無參建構函式,如果需要無參建構函式,則需要自己來寫。
建構函式可以過載,也就是有多個引數不同的建構函式。