n 類
類是物件導向程式設計中的核心概念,一個類通常表示一個對象的操作的集合
定義方法:
修飾符 class 類名
{
....
}
常用修飾符:
public :訪問不受限制
protected :訪問僅限於包含類或該類的衍生類別
internal :訪問僅限於當前程式集(通常指同一命名空間下)
protected internal : 僅限於包含類派生的當前程式集或類型
private : 訪問僅限於包含類型
類中含有以下內容(成員):
欄位:也就是類中存誰儲內容的變數,預設訪問為public
例: privaet string color1
方法:表示類的一個動作
例:public void Run()
{
.....
}
void表示沒有傳回值,如果有傳回值,void應該改為返回的類型類,如int
建構函式:
建構函式即是名字和類相同的一個方法,它的作用就是初始化欄位變數和屬性的值。
方法重載:
方法重載是指同一個方法的不同處理方法,區別是方法中的參數類型不同
如:public int test1(string aaa,int bbb)是一個方法,而public int test1(int bbb,string aaa)是另一個,是否是重載只看參數的按順序的類型對比,而不是對比參數名。
類的屬性:屬性就是對外的類的自我自征。它的常用方法如下:
public string Color
{
get
{
return color;
}
set
{
color = value;
}
}
上面就定義了一個Color屬性,get方法充許讀取,set的方法表示充許賦值。
通常用說,類屬性和修飾為public的欄位操作都基本一樣,但是屬性比欄位有更靈活的控制,如可以定義是否讀寫,而且可以在get或set方法中有計算或其它的操作,欄位僅能賦值和讀取而已。
類的索引器:類的索引器是一種特殊的屬性,它讓類的結構或執行個體按與數組相同方式進行索引
一般類有有數組型式的變數或屬性可以用到
定義方法:和屬性基本一樣,只是有一個關鍵字:this[],,,注意索引值不止可以是數值,還可以是字串等
class Car
{
string[] wheels = new string[4];
public Car()
{
wheels[0] = "左前輪";
wheels[1] = "右前輪";
wheels[2] = "左後輪";
wheels[3] = "右後輪";
}
public string this [int index] // Car類的索引器
{
get
{
return wheels[index];
}
set
{
wheels[index] = value;
}
}
}
類的繼承:類中可以繼承其它的類,使得繼承類擁有其它的類的特點
方法: class 衍生類別:存取修飾詞 基類
{
}
類的封裝:封裝主要是防止外界通過未授權訪問一些資訊和功能,主要是通過類修飾類來指定
類的多態性:多態基於繼承,優點使代碼更通用,具體不太明
類的介面:也是實現多態的一個方法
例:public interface test1()
{
}
介面相當於類的空盒子,實現要等到從它派生來的時候進行,介面可以擁有屬性,方法和索引器等
類的委託:委託是實現回調功能而設計的,它是一種資料結構
定義:public delegate string test1(string aaa)
委託重要的是它的參數和傳回值
類的事件:與委託組合,實現一些響應功能,如按一下滑鼠。