class person
}public int weight; //字段
private int age; //字段
public int age //屬性
setelse}}
public void oneperson() //方法
", name);
console.writeline("weight:", weight);
console.writeline("age: ", age);
}public static void staticoneperson(out string name, out int weight, out int age) //靜態方法
}person oneperson = new person();
oneperson.age = -2; // invalid data
oneperson.weight = 100;
oneperson.oneperson();
oneperson.age = 21; //age 通過共有age訪問私有欄位age
oneperson.oneperson(); //使用例項物件呼叫例項方法
console .writeline("this is info." ,oneperson.name);
string na;
int we;
int ag;
person.staticoneperson(out na, out we, out ag); //使用類名呼叫靜態方法
console .writeline ("sname: ,sweight: ,sage: ", na, we, ag);
屬性的型別和字段型別必須一致 age age 都是string
屬性只有get時: 唯讀屬性;
只有set時: 只寫屬性;
建議類內部的敏感字段使用屬性來控制訪問: id ,age;
封裝字段:(屬性和字段綁到一起)
封裝是物件導向的三大特徵之一: 避免非法資料的訪問, 保證資料的完整性
使用static修飾的方法稱為靜態方法, 使用例項物件呼叫的方法交例項化方法
靜態方法 例項化方法
static 不要關鍵字static
使用類名呼叫 使用例項物件呼叫
可以訪問靜態成員 可以直接訪問靜態成員
不可以直接訪問例項成員 可以
不能直接呼叫例項方法 可以
呼叫前初始化 例項化物件時初始化
過載為什麼要過載: 乙個方法能實現不同型別的操作。
實現方法: 同名不同返回型別,不同引數型別,不同引數的個數
注意: 不容許過載方法僅僅是返回值不同
建構函式
類中乙個特殊的方法 建構函式與類名相同, 不返回任何值,可初始化成員變數
public person(string name, int age)
person mark = new person("mark", 29); //new 關鍵字 例項化物件呼叫建構函式
mark.oneperson(); //name only read, name is jack not mark
建構函式過載 同樣同名 不同參
C 中屬性和自動屬性的區別
1.私有字段,一般設定為私有,通過屬性來賦值保證起安全性 1private string age 2.get訪問器,負責讀取資料,其中可以進行自己的邏輯判斷和資料驗證,以return或者throw結束 12 345get 3.set訪問器,負責給屬性賦值,類似於乙個返回型別為void的方法,可以包含...
C 中屬性和索引的區別
屬性和索引器的差別 乙個物件只有乙個屬性值,所以要存放多個值必須例項化多個物件 通常情況下,例項化乙個陣列的物件,接著例項化的物件賦給這個陣列 乙個物件對應的索引是乙個陣列,並且可以存放多個數值或字串,所以只需要例項化乙個物件就可以存放以及訪問多個儲存內容。using system using sy...
C 中的字段和屬性詳細區別
1 二者之間的聯絡 在c 中,對於一些公有字段我們可以無限制的訪問,但是這樣做的後果是,我們可能錯誤的修改了字段中的值!使得資料不準確,於是就出現了屬性,屬性中的get和set解決了訪問字段時候出現的問題 2 屬性的優點 1 屬性可以保證資料安全 由於屬性中有set和get,set負責屬性的寫入工作...