ch04面向對象管理類及對象_第1頁
ch04面向對象管理類及對象_第2頁
ch04面向對象管理類及對象_第3頁
ch04面向對象管理類及對象_第4頁
ch04面向對象管理類及對象_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、管理類和對象江蘇(淮安)微軟技術中心回顧小汽車、奔馳汽車和樓下那輛奔馳S500汽車。哪個是類,哪個是對象?聲明一個方法不需要返回值的關鍵字是什么?本章目標理解類與對象的概念了解屬性的作用了解構造函數的作用了解ref和out類和對象對象是人們要進行研究的任何事物類描述一組相似對象的共性/Car BMW = new Car();BMW.Run(); /類一種類型的定義對象:該類型的一個實例實例化對象 調用方法 new:用于創(chuàng)建類型的實例注意:每一個類的實例都是一個對象。在內存中都有自己的空間,而且獨立于其他所有實例運行public class Student int age = 26; / 姓名

2、private string name; public string Name get return name; set name = value; /問候 public void SayHi() 類和類的成員類的成員字段 屬性 方法 類名 封裝的目的封裝是面向對象的三大特性之一封裝只是一個概念,有時我們也稱之為信息隱藏 封裝的中心思想是讓我們在使用一個類的時候,不需要關心類的內部是如何工作的,我們只需要創(chuàng)建類的一個實例,然后使用這個類提供的方法。 將方法、數據(字段、屬性)合并到一個類中,通過訪問修飾符控制方法和數據的可訪問性。如何進行封裝封裝的目的 保證數據的完整性,避免非法數據訪問公有成

3、員和私有成員class student private string name;/姓名 public int age; /年齡static void Main(string args) student myStudent = new student(); myS = 張三; myStudent.age = 20; 私有成員 公有成員 實例化一個對象 可以訪問 無法訪問編譯錯誤 數據安全static void Main(string args) student myStudent = new student(); myStudent.age = -2;非法數據 無法獲得數據

4、 無法正常賦值 有時候將類中的字段公開是不安全的如果設為私有成員能否對這些字段進行規(guī)則約束或者只讀呢? 在類中使用屬性private int age; /年齡public int Age get return age; set if (value 0 & value 0 & value 50 & score 60) Console.WriteLine(你的成績在50-60之間,可以加分。); score = 60; scoreResult = 60; 都可以輸出結果 ref側重修改,out側重輸出 不能寫成AddScore(out int scoreResult)演示示例2:自定義方法計算稅后

5、工資演示示例:構造函數 Student zhang = new Student();zhang.Name = 張靚靚;zhang.Age = 20;zhang.Hobby = 唱歌歌;一種特別的方法班級來了新學員添加學員對象學員類實例化對象、設置屬性初始屬性若太多,設置麻煩能否在實例化時設置屬性?public Student(string name, int age, string hobby) this.Name = name; this.Age = age; this.Hobby = hobby;Student zhang = new Student(張靚靚, 20, 唱歌歌);一次設置完

6、成類中加入這個方法添加的方法叫做構造函數構造函數是類中的一種特殊的方法構造函數名與類名相同,不返回任何值可初始化成員變量class Student public Student(string name, int age, string hobby) this.Name = name; this.Age = age; this.Hobby = hobby; 初始化成員變量 this 關鍵字引用類的當前實例 將參數的值,分別賦給當前實例的屬性使用構造函數new 關鍵字可以實例化一個新的對象指定對某個帶參數的構造函數 Student zhang = new Student(張靚靚, 20, 唱歌歌)

7、;每次創(chuàng)建類的實例都會調用此方法實例化對象調用構造函數 使用 new 關鍵字 Student scofield = new Student();Student zhang = new Student(張靚靚, 20, 唱歌歌);實例化一個對象 實例化一個新對象 public Student() public Student(string name, int age, string hobby) = name; this.age = age; this.hobby = hobby;構造函數的重載構造函數也可以重載Student scofield = new Student()

8、;Student zhang = new Student(張靚靚, 20, 唱歌歌);方法名相同,參數不同靜態(tài)方法和實例方法使用static修飾的方法稱為靜態(tài)方法使用實例對象調用的方法叫做實例方法靜態(tài)方法實例方法static 關鍵字不需要static關鍵字使用類名調用使用實例對象調用可以訪問靜態(tài)成員可以直接訪問靜態(tài)成員不可以直接訪問實例成員可以直接訪問實例成員不能直接調用實例方法可以直接訪問實例方法、靜態(tài)方法調用前初始化實例化對象時初始化 常量常量在使用過程中值不會發(fā)生變化常量程序中反復使用const 類型 常量名 = 常量值 程序中不會被改變static void Main(string args) const int PI = 3.14; PI = 3.20;強制賦值會發(fā)生錯誤常量名通常使用大寫 為什么使用常量public class Compute double pi = 3.14; /計算圓的周長 public double Perimeter(double radius) return 2 * pi * radius; /計算圓的面積 public double area(double radi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論