ch04面向?qū)ο蠊芾眍惣皩ο骭第1頁
ch04面向?qū)ο蠊芾眍惣皩ο骭第2頁
ch04面向?qū)ο蠊芾眍惣皩ο骭第3頁
ch04面向?qū)ο蠊芾眍惣皩ο骭第4頁
ch04面向?qū)ο蠊芾眍惣皩ο骭第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

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

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

4、 無法正常賦值 有時候?qū)㈩愔械淖侄喂_是不安全的如果設(shè)為私有成員能否對這些字段進行規(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; 都可以輸出結(jié)果 ref側(cè)重修改,out側(cè)重輸出 不能寫成AddScore(out int scoreResult)演示示例2:自定義方法計算稅后

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

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

7、;每次創(chuàng)建類的實例都會調(diào)用此方法實例化對象調(diào)用構(gòu)造函數(shù) 使用 new 關(guān)鍵字 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;構(gòu)造函數(shù)的重載構(gòu)造函數(shù)也可以重載Student scofield = new Student()

8、;Student zhang = new Student(張靚靚, 20, 唱歌歌);方法名相同,參數(shù)不同靜態(tài)方法和實例方法使用static修飾的方法稱為靜態(tài)方法使用實例對象調(diào)用的方法叫做實例方法靜態(tài)方法實例方法static 關(guān)鍵字不需要static關(guān)鍵字使用類名調(diào)用使用實例對象調(diào)用可以訪問靜態(tài)成員可以直接訪問靜態(tài)成員不可以直接訪問實例成員可以直接訪問實例成員不能直接調(diào)用實例方法可以直接訪問實例方法、靜態(tài)方法調(diào)用前初始化實例化對象時初始化 常量常量在使用過程中值不會發(fā)生變化常量程序中反復(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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論