

1.對象簡要總結
概念:任何存在的實體都是對象,對象是真實存在的,它包括"靜態特征"和"動態特征"
靜態特征:表示對象的屬性,用來存儲對象本身的數據
動態特征:表示對象的方法,用來說明對象能做什么
對象的作用
數據存儲在對象的屬性中
軟件的功能都是通過方法來實現的
2.類的概念:將同一類對象共有的屬性、方法抽象出來,組織在一個單元中, 就成為類
對象其實是同一類事物的個體
3.類與對象簡要總結
類定義的是一個"概念模型",在這個模型中,規定對象的"屬性"和"方法"
對象是按照類這個模型,創造出來的真實"實體",每個屬性都有特定的"值"
4.類的定義規范
1 訪問修飾符 class 類名 //1.定義類名:名詞,要求首字母大寫,避免單詞縮寫 2 { 3 //定義字段部分 4 字段1的類型 字段1 //2.編寫類的字段、屬性 用來描述類的靜態特征 5 字段2的類型 字段2 6 ... 7 //定義屬性 8 屬性1的類型 屬性1 //3.編寫類的方法、接口 獨立完成某個功能的單元模塊 9 屬性2的類型 屬性2 10 ... 11 //定義方法部分 12 方法1 13 方法2 //4.在類的設計中,可以只包含字段、屬性或方法 14 ... 15 } 16 如下所示,定義一個學生類 17 class Student 18 { 19 //字段:學號 20 private int studentId; 21 //字段:學院姓名 22 private string studentName = string.Empty; 23 //屬性:學號 24 public int StudentID 25 { 26 get { return studentId; } 27 set { studentId = value; } 28 } 29 //屬性:學院姓名 30 public string StudentName 31 { 32 get { return studentName; } 33 set { studentName = value; } 34 } 35 //方法:獲取學院信息 36 public string GetStudent() 37 { 38 string info = string.Format("姓名:{0}學號:{1}", studentName, studentId); 39 return info; 40 } 41 42 }
5.創建學生對象
1 以類為模板,創建一個或多個對象,通過對象去調用類中的屬性或方法 2 3 對象的創建規范 4 類 對象名=new 類(); 5 6 static void Main(string[] args) 7 { 8 //創建對象 依據對象類型開辟空間,初始化成員 9 Student objStudent = new Student(); 10 //將對象賦值給對象變量 11 objStudent.StudentID = 1001; 12 objStudent.StudentName = "小王"; 13 //調用對象的方法 14 string info = objStudent.GetStudent();//調用方法:對象名.屬性名 15 Console.WriteLine(info); 16 Console.ReadLine(); 17 }
6.字段
作用:限制對象的屬性或方法可訪問的范圍(類的內部,類的外部)
類型: private(私有的:外部不可見) public(共有的:外部可見的)
字段又稱為"成員變量",一般在類的內部做數據交互使用,一般使用private使
用
字段命名規范:字段命名一般采用camel命名法
字段的通俗理解:字段就好比我們的個人財產,只供我們自己使用,所以一般
是private修飾
添加標准:一個類中究竟需要添加幾個字段,根據程序編寫過程的需要決定
7.屬性
屬性的使用
作用:在面向對象設計中主要使用屬性描述對象靜態特征
要求:一般采用Pascal命名法,數據類型和字段一直,使用public修飾
屬性的理解
屬性其實是外部訪問私有字段的入口,屬性本省不保存任何數據
給屬性賦值,其實是給屬性指向的私有字段賦值
讀取屬性值,其實是獲取屬性指向的私有字段值或其它值
8.字段與屬性比較
字段主要為類的內部做數據交互使用,字段一般是private
字段可以賦值,也可以取值。
當字段需要為外部提供數據時,請將字段封裝為屬性,而不是使用共有字段
這是面向對象所提倡的
屬性一般是向外提供數據,主要用來描述對象的靜態特征,所以,屬性一般
是public的
屬性可以根據需要設置為只讀、只寫、提供數據安全性
屬性內部可以添加我們需要的業務邏輯,從而避免非法數據
9.自動屬性
優點:簡化屬性代碼
快捷方式:prop+tab鍵+tab鍵
適用要求:
不能直接操作私有字段
不能設置只讀,只寫屬性
不能添加驗證邏輯