C#的引用、屬性、建構函式
阿新 • • 發佈:2019-02-05
引用
c#的引用類似於C語言的指標。如:
class Person
{
int age;
string name;
}
Person p1,p2;//此表示式執行後,系統只是分配了兩個地址來存放這兩個類變數名,並沒有分配長度為int+string大小的空間
p1= new person();
p1.age=10;//此兩式執行後系統分配了記憶體用以儲存p1.age和p1.name的值,而p1則指向這個記憶體空間
p1.name="wwe";//
p2=p1;//p2和p1指向同一個記憶體空間
以上p2=p1;的結果其實是p2和p1指向同一塊記憶體空間
還要注意的是,變數的宣告並沒有分配空間。引用他所分配的也只是一個指標,他所指的是變數名的地址。
一旦變數通過編譯,系統會為他自動初始化,那樣也就分配了空間。初始化值一般為零。
屬性
class Person
{
int age//變數age是一個屬性
{
get{return age;}
set
{
if(value<0) throw new Exception("age的值不能小於0!");
age=value;
}
}
string name;//變數name是一個欄位
}
可見屬性有利於對變數進行判斷
建構函式
C#建構函式必須宣告為public才能使用