c# 類成員的定義 定義方法、字段和屬性【轉】


c# 類成員的定義 定義方法、字段和屬性
c#類的成員包括字段、屬性和方法。所有成員都有自己的訪問級別,用下面的關鍵字之一來定義:
public----成員可以有任何代碼訪問;
private----成員只能有類中的代碼訪問(如果沒有使用任何關鍵字,默認使用這個關鍵字);
internal----成員有定義他的項目(程序集)內部的代碼訪問;
protected----成員只能由類或派生類的代碼訪問。
后兩個關鍵字可以合並
protected internal----他們只能由項目(程序集)中的派生代碼來訪問。

1.定義字段:
字段用標准的變量聲明格式和前面介紹的修飾符來聲明(也可以初始化),例如: 
class myClass
{
public int MyInt;
}

公共字段推薦用PascalCasing的形式來命名,私有字段沒有推薦的命名形式,一般使用camelCasing的形式來命名。
字段可以使用關鍵字readonly,表示這個字段只能在執行構造函數的過程中賦值,或由初始化語句賦值,例如: 
class myClass
{
public readonly int MyInt=17;
}
字段也可以使用static聲明為靜態的: 
class myClass
{
public static int MyInt;
}

2.定義方法:

方法使用標准的函數格式,以及可訪問性,和可選的static修飾符來聲明,例如: 
class myClass
{
public string MyString()
{
return “這是一個方法”;
}
}
解析: 
class myClass
{
//開始聲明方法代碼
public string MyString()
{
return “這是一個方法”;
}
//結束聲明方法代碼
}

公共方法也用PascalCasing的形式來命名。
注意:如果聲明了static關鍵字,這個方法就只能通過類來訪問,而不能通過對象實例還訪問。
也可以在方法定義中使用下面的關鍵字:
virtual----方法可以重寫;
abstract----方法必須在非抽象的派生類中重寫(只用於抽象類);
override----方法重寫了一個基類方法(要重寫方法,必須用這個關鍵字);
extern----方法定義在其他地方;

3.定義屬性

屬性定義與地段類似,但內容比較多。屬性有兩個類似於函數的塊,一個用於獲取屬性的值,一個用於設置屬性的值,例子: 
class myClass
{
private int myInt;//字段
//(下面為屬性)
public int MyInt
{
get 
{
return myInt;
}
set 
{
myInt=value;
}
}
}

get 塊一般有一個屬性類型的返回值,簡單的屬性一般與一個私有字段相關聯,用來控制對這個字段的訪問,這是get塊可以直接返回該字段的值;
上面的myInt字段外部不能訪問,只能通過屬性來訪問該字段。

set函數以類似的方式把一個值賦給字段,這里可以使用關鍵字value引用用戶提供的屬性值;value值等於類型和屬性相同的一個值,如果屬性的類型和字段的類型相同,就不用進行類型轉換。

屬性可以使用vartual、override和abstract關鍵字,但是不能將這幾個關鍵字用於字段。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM