C 中屬性和方法的區別

2021-06-17 21:02:40 字數 1757 閱讀 5325

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負責屬性的寫入工作...