屬性是對字段的擴充套件。
根據物件導向語言的封裝思想,字段最好設為private,因為這樣可以防止客戶端直接對欄位進行篡改,從而保證了內部成員的完整性。
於是為了訪問類中的私有字段,c#提供了屬性這種機制,用來對欄位進行靈活的控制和訪問。以下是
public class person
//私有字段定義
private string name;
//公有屬性定義
public string name
//get訪問器
getreturn name;
//set訪問器
setname = value;
}//name end
}//class end
屬性定義主要由於get訪問器和set訪問器組成。
get訪問器負責對字段值進行讀取;
set訪問器負責對欄位進行賦值;
get訪問器和set訪問器可以理解為兩個方法,乙個是用來返回字段,乙個用來把使用者傳入的值賦給字段。
c#為了使字段的訪問過程更加簡單,提出了屬性的概念,通過操作屬性來訪問字段,避免了使用呼叫方法。
屬性除了能直接訪問私有欄位外,還可以根據需要加入更多的邏輯控制**。
例如,人的年齡一般在0-120歲之間,當**試圖將這個範圍之外的數值賦給年齡欄位時,則可在屬性中新增丟擲異常的**對錯誤進行處理。以下是
pulic class person
private int age;
public int age
//get訪問器
getreturn age;
set//在set訪問器中新增更多的邏輯**
if(value<0||value>120)
throw(new argumentoutofrangeexception(「ageintpropery」,value,」年齡必須在0-120之間」));
age=value;
C 學習8(類 字段 屬性)
訪問修飾符 class 類名 訪問修飾符 public 類名 pascal 要求每個單詞的首字母都要大寫。我們寫好了乙個類之後,需要建立這個類物件,我們管建立這個類的物件的過程,稱之為類的例項化。使用關鍵字 new.儲存資料 類中的成員如果不加訪問修飾符,預設是private private 私有的...
C 對C的擴充套件
1.c 會對函式返回值型別和引數個數進行檢測 c語言預設為返回值為int,引數個數不做檢查 2.c 在定義結構體變數時,關鍵字struct可以省略,結構體名不能省 3.在全域性中定義 int val g bss段 全是0 在全域性中 int val g 20 data c正確 2是賦值 c 錯誤 重...
C 對C的擴充套件
c 是c語言的加強,是一種更好的c語言 c 是以c語言為基礎的,並且完全相容c語言的特性 c語言 物件導向方 objective c c c 以c語言為基礎 物件導向支援 型別加強 函式加強 異常處理 標準格式 namespace namec中的命名空間 在c語言中只有乙個全域性作用域 c語言中所有...