C#學習-面向物件概念
面向過程:面向的是完成這件事的過程,強調的是完成這件事的動作
如果我們用面向過程的思想解決問題,當執行人不同時,需要為每個人量身定做解決事情的方法
面向物件:找個物件完成過程
面向物件意在找到一個通用的程式碼,遮蔽差異
通過描述物件的屬性和方法來描述物件
物件必須是看得見摸得著的
我們把具有相同屬性和相同方法的物件進行進一步的封裝,抽象出來,抽象出來類這個概念
類就是個模子,確定了物件應該具有的屬性和方法
物件是根據類創建出來的
類
語法:
public class 類名
{
欄位;
屬性;
方法;
}
寫好了一個類後,我們需要建立這個類的物件,那麼,我們管建立這個類的物件過程稱之為類的例項化——使用關鍵字new
this代表當前類的物件
類是不佔記憶體的,而物件是佔記憶體的
屬性
屬性的作用就是保護欄位、對欄位的賦值和取值進行限定
屬性的本質就是兩個方法:get和set
set賦值get取值,既有set又有get為可讀可寫屬性,只有get為只讀屬性,只有set為只寫屬性
訪問修飾詞
public:公開的公共的,哪都能訪問
private:私有的,只能在當前類的內部訪問,出了類就訪問不到了
物件的初始化
當我們建立好一個類的物件後,需要給這個物件的每個屬性去賦值,我們稱這個過程為物件的初始化
靜態和非靜態的區別
-
在非靜態類中,既可以有例項成員,也可以有靜態成員
-
在呼叫例項成員的時候,需要使用物件名.例項成員;
在呼叫靜態成員的時候,需要使用類名.靜態成員
-
靜態函式中,只能訪問靜態成員,不能訪問例項成員
-
例項函式中,既可以使用靜態成員,也可以使用例項成員
使用:
-
如果你想要你的類當做一個"工具類"去使用,這個時候可以考慮將類寫成靜態的
-
靜態類在整個專案中資源共享
只有在程式結束後,靜態類才會釋放資源
建構函式
作用:幫助我們初始化物件(給物件的每個屬性依次的賦值)
建構函式是一個特殊的方法:
-
建構函式沒有返回值,連void也不能寫
-
建構函式的名稱必須跟類名一樣
建立物件的時候會呼叫建構函式
建構函式可以過載
類當中會有一個預設的無引數的建構函式,當你寫一個新的建構函式,無論該函式有參還是無參,原有的預設的無參的建構函式都會被刪除
new
new幫助我們做了三件事:
-
在記憶體中開闢了一個空間
-
在開闢的空間中建立物件
-
呼叫物件的建構函式進行初始化物件
this
-
代表當前類的物件
-
在類當中顯示的呼叫本類的建構函式——:this
-