1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ClassDemo ... ...
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ClassDemo 8 { 9 /// <summary> 10 /// 學員類 11 /// </summary> 12 /// 總結: 13 /// 欄位:(成員變數) 14 /// 欄位主要是為類的內部做數據交互使用,一般是private; 15 /// 欄位可以賦值,也可以取值; 16 /// 當欄位需要外部提供數據的時候,請將欄位封裝為屬性,而不是使用公有欄位,這是面向對象所提倡的; 17 /// 屬性: 18 /// 屬性一般是向外提供數據,主要用來描述對象的靜態特征,所以,一般屬性是public; 19 /// 屬性可以根據需要設置為只讀、只寫,提高數據安全性; 20 /// 屬性內部可以添加我們需要的業務邏輯,從而避免非法數據; 21 class Student 22 { 23 /// <summary> 24 ///欄位:又稱為成員變數,一般在類的內部做數據交互使用,所以一般使用private修飾; 25 ///欄位命名規範:欄位命名一般採用camel命名法,首字母小寫 26 ///欄位的通俗理解:欄位好比我們的個人財產,只供我們自己使用,所以一般是private修飾; 27 ///添加標準:一個類總究竟需要添加幾個欄位,根據程式編寫過程的需要來決定的; 28 /// </summary> 29 //欄位:學號 30 private int studentId; 31 //欄位:姓名 32 private string studentName = string.Empty; 33 //欄位:年齡 34 private int age; 35 36 37 38 /// <summary> 39 /// 屬性是外界訪問私有欄位的入口,屬性本身不存任何數據 40 /// 給屬性賦值,其實是給屬性指向欄位的私有欄位賦值; 41 /// 讀取屬性值,其實是獲取屬性指向的私有欄位值或其他值; 42 /// 屬性一般首字母大寫; 43 /// </summary> 44 //屬性:學號 45 public int StudentId 46 { 47 get { return studentId; } 48 set { studentId = value; } 49 } 50 51 //屬性:學生姓名 52 public string StudentName 53 { 54 get { return studentName; } 55 set { studentName = value; } 56 } 57 58 //屬性:年齡 59 public int Age 60 { 61 //給屬性添加約束; 62 get { return age; } 63 set { 64 if (value < 18) 65 age = 18; 66 else 67 age = value; 68 } 69 } 70 71 //方法:獲取學員信息; 72 /// <summary> 73 /// 訪問修飾符,可以省略,預設private,可以根據需要修改為public 74 /// 方法名,一般是“動詞”或“動賓短語”,採用Pascal命名法,首字母大寫,不能以數字開頭 75 /// 參數列表:根據需要添加,也可以省略,參數列表要求“類型 參數名稱”的形式,使用逗號分隔不同的參數; 76 /// 有返回值:使用return返回;return 語句後面不能再有其他語句; 77 /// 沒有返回值:如果不返回任何數據,使用viod表示; 78 /// </summary> 79 /// <returns></returns> 80 81 public string GetStudent() 82 { 83 string info = string.Format("姓名:{0} 學號:{1}", studentId, studentName); 84 return info; 85 } 86 //自動屬性 prop+tab+tab 87 //適用範圍:不能直接操作私有欄位,不能設置只讀只寫屬性,不能添加驗證邏輯; 88 public int MyProperty { get; set; } 89 } 90 }