面向對象程序語言設計5用對象思考屬性和方法ppt課件_第1頁
面向對象程序語言設計5用對象思考屬性和方法ppt課件_第2頁
面向對象程序語言設計5用對象思考屬性和方法ppt課件_第3頁
面向對象程序語言設計5用對象思考屬性和方法ppt課件_第4頁
面向對象程序語言設計5用對象思考屬性和方法ppt課件_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章第二章用對象思索:屬性和方法用對象思索:屬性和方法了解類與對象的概念了解類與對象的概念了解屬性和方法的概念了解屬性和方法的概念可以定義一個簡單的類可以定義一個簡單的類本章目的本章目的對象對象對象是人們要進展研討的任何事物 顏色:灰色顏色:灰色排量:排量:3.0 3.0 剎車剎車產地:德國產地:德國行駛行駛名字:保時捷名字:保時捷行為行為形狀形狀顏色:紅色顏色:紅色排量:排量:4.04.0剎車剎車產地:意大利產地:意大利行駛行駛名字:法拉利名字:法拉利行為行為形狀形狀描畫汽車的特征和行為描畫汽車的特征和行為 有各自不同有各自不同的形狀的形狀類和對象類和對象小汽車小汽車顏色:灰色顏色:灰色排

2、量:排量:3.0 3.0 剎車剎車產地:德國產地:德國行駛行駛名字:保時捷名字:保時捷行為行為形狀形狀類的實例化,是類的實例化,是由類詳細化對象由類詳細化對象類類產地產地 車體顏色車體顏色 行駛行駛 剎車剎車 歸納一組類似對歸納一組類似對象的共性象的共性對象對象屬性屬性方法方法 類描畫一組類似對象的共性類描畫一組類似對象的共性類和對象的運用類和對象的運用 類和對象的簡單運用類和對象的簡單運用/Car ferrari = New Car();ferrari.Run(); /類類對象對象實例化對象實例化對象 調用方法調用方法 public class Student int age = 26; /

3、 姓名姓名 private string name; public string Name get return name; set name = value; /問候問候 public void SayHi() 類和類的成員類和類的成員類的成員類的成員字段字段 屬性屬性 方法方法 類名類名 自定義一個類自定義一個類自定義類自定義類DBHelperclass DBHelper / 數(shù)據(jù)庫銜接字符串數(shù)據(jù)庫銜接字符串 private static string connString = ; / 數(shù)據(jù)庫銜接數(shù)據(jù)庫銜接 Connection 對象對象 public static SqlConnecti

4、on connection = new SqlConnection(connString); 訪問修飾符訪問修飾符私有私有 公有公有 公有成員和私有成員公有成員和私有成員class student private string name;/姓名姓名 public int age; /年齡年齡 public string idNumber ;/身份證號身份證號static void Main(string args) student myStudent = new student(); myS = 張三張三; myStudent.age = 20; 私有成員私有成員 公有成

5、員公有成員 實例化一個對象實例化一個對象 可以訪問可以訪問 演示例如演示例如1 1:訪問修飾符:訪問修飾符 無法訪問編譯錯誤無法訪問編譯錯誤 數(shù)據(jù)平安數(shù)據(jù)平安static void Main(string args) student myStudent = new student(); myStudent.age = -2; myStudent.idNumber = 123456; 非法數(shù)據(jù)非法數(shù)據(jù) 身份證號不能被修正身份證號不能被修正 無法獲得數(shù)據(jù)無法獲得數(shù)據(jù) 無法正常賦值無法正常賦值 有時候將類中有時候將類中的字段公開是的字段公開是不平安的不平安的假設設為私有成員假設設為私有成員能否對這些

6、字段進展規(guī)那么約束或者只讀呢?能否對這些字段進展規(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偏重輸出偏重輸出 不能寫成不能寫成AddSco

7、re(out int scoreResult)方法的運用方法的運用實現(xiàn)兩個整型的加法實現(xiàn)兩個整型的加法class Add public int Sum(int para1, int para2) return para1 + para2; Add myAdd = new Add();int sum = myAdd.Sum(2, 3);運用方法運用方法實例化一個對象實例化一個對象 前往結果前往結果 演示例如演示例如3:方法的運用:方法的運用 調用方法調用方法 靜態(tài)方法靜態(tài)方法class mySwap public static void Swap(ref int num1,ref int num

8、2) int temp; temp = num1; num1 = num2; num2 = temp; class Program static void Main(string args) int num1 = 5, num2 = 10; mySwap.Swap(ref num1, ref num2); 回想一下,回想一下,Swap方法在另一類中如何調用?方法在另一類中如何調用?靜態(tài)方法運用類名調用靜態(tài)方法運用類名調用靜態(tài)方法靜態(tài)方法 靜態(tài)方法和實例方法靜態(tài)方法和實例方法 運用運用static修飾的方法稱為靜態(tài)方法修飾的方法稱為靜態(tài)方法 運用實例對象調用的方法叫做實例方法運用實例對象調用的方

9、法叫做實例方法靜態(tài)方法靜態(tài)方法實例方法實例方法static 關鍵字關鍵字不需要不需要static關鍵字關鍵字使用類名調用使用類名調用使用實例對象調用使用實例對象調用可以訪問靜態(tài)成員可以訪問靜態(tài)成員可以直接訪問靜態(tài)成員可以直接訪問靜態(tài)成員不可以直接訪問實例成員不可以直接訪問實例成員可以直接訪問實例成員可以直接訪問實例成員不能直接調用實例方法不能直接調用實例方法可以直接訪問實例方法、靜態(tài)方法可以直接訪問實例方法、靜態(tài)方法調用前初始化調用前初始化實例化對象時初始化實例化對象時初始化為什么要重載為什么要重載 public int Sum(int para1, int para2) return par

10、a1 + para2; 整形參數(shù),整形參數(shù),前往值整型前往值整型假設想讓兩個假設想讓兩個string型、兩個型、兩個double型相加,怎樣做?型相加,怎樣做? 編寫兩個不同名字的方法,這樣我們在進展調用時編寫兩個不同名字的方法,這樣我們在進展調用時要先判別是什么類型,能否不判別直接就能相加呢?要先判別是什么類型,能否不判別直接就能相加呢?方法的重載方法的重載同一個類中添加幾個名字一樣,參數(shù)與前往值不同的方法同一個類中添加幾個名字一樣,參數(shù)與前往值不同的方法 public string Sum(string para1, string para2) return para1 + para2;

11、public double Sum(double para1, double para2) return para1 + para2; 調用時只需傳送參數(shù)即可,無需判別類型調用時只需傳送參數(shù)即可,無需判別類型 演示例如演示例如4:方法的重載:方法的重載 class Add public string Sum(string para1, string para2) public int Sum(int para1, int para2) 重載的方式重載的方式基于不同類型參數(shù)的重載基于不同類型參數(shù)的重載 class Add public int Sum(int para1, int para2)

12、public int Sum(int para1, int para2,int para3) 一樣類型不同參數(shù)個數(shù)的重載一樣類型不同參數(shù)個數(shù)的重載 不允許重載方法僅僅是前往值不同不允許重載方法僅僅是前往值不同 演示例如演示例如5:構造函數(shù):構造函數(shù) Student zhang = new Student();zhang.Name = 張靚靚張靚靚;zhang.Age = 20;zhang.Hobby = 唱歌歌唱歌歌;一種特別的方法一種特別的方法班級來了新學員班級來了新學員添加學員對象添加學員對象學員類實例化對象、學員類實例化對象、設置屬性設置屬性初始屬性假設太初始屬性假設太多,設置費事多,設

13、置費事能否在實例化時設置能否在實例化時設置屬性?屬性?public Student(string name, int age, string hobby) this.Name = name; this.Age = age; this.Hobby = hobby;Student zhang = new Student(張靚靚張靚靚, 20, 唱歌歌唱歌歌);一次設置完成一次設置完成類中參與這類中參與這個方法個方法添加的方法叫做構造函數(shù)添加的方法叫做構造函數(shù)構造函數(shù)構造函數(shù)是類中的一種特殊的方法是類中的一種特殊的方法構造函數(shù)名與類名一樣,不前往任何值構造函數(shù)名與類名一樣,不前往任何值可初始化成員變

14、量可初始化成員變量class Student public Student(string name, int age, string hobby) this.Name = name; this.Age = age; this.Hobby = hobby; 初始化成員變量初始化成員變量 this 關鍵字援用類的當前實例關鍵字援用類的當前實例 將參數(shù)的值,分別賦將參數(shù)的值,分別賦給當前實例的屬性給當前實例的屬性運用構造函數(shù)運用構造函數(shù) new 關鍵字 可以實例化一個新的對象 指定對某個帶參數(shù)的構造函數(shù) Student zhang = new Student(張靚靚張靚靚, 20, 唱歌歌唱歌歌);

15、 每次創(chuàng)建類的實例都會調用此方法每次創(chuàng)建類的實例都會調用此方法實例化對象調用實例化對象調用構造函數(shù)構造函數(shù) 運用運用 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 = ho

16、bby;構造函數(shù)的重載構造函數(shù)的重載構造函數(shù)也可以重載構造函數(shù)也可以重載Student scofield = new Student();Student zhang = new Student(張靚靚張靚靚, 20, 唱歌歌唱歌歌);方法名一樣,方法名一樣,參數(shù)不同參數(shù)不同綜合實戰(zhàn)綜合實戰(zhàn)構造函數(shù)的重載,可以使類實例化對象更靈敏演示例如演示例如6:重載:重載(RssRead類的搭建類的搭建) 點擊次數(shù)點擊次數(shù) Clicks描畫描畫 Descriptionurl 地址地址 Url構造函數(shù)構造函數(shù)顯示稱號顯示稱號 DisplayName DisplayName方法方法屬性屬性都是讀寫屬性都是讀寫屬

17、性 private int a;public int Aget return a; set a = value;他喜歡讀哪段代碼?他喜歡讀哪段代碼? 合格的程序要符合編碼規(guī)那么合格的程序要符合編碼規(guī)那么直觀易于了解、有意義的單詞直觀易于了解、有意義的單詞 方便維護方便維護有利于調試有利于調試編碼規(guī)那么的必要性編碼規(guī)那么的必要性如如name,age,student private int name;public int Name get return name; set name = value;無法了解無法了解是什么是什么 Pascal命名法命名法變量采用有意義的單詞變量采用有意義的單詞單詞的一個字母大寫單詞的一個字母大寫StudentName、MaxAgeCamel命名法命名法變量采用有意義的單詞變量采用有意義的單詞第一個單詞的首字母小寫第一個單詞的首字母小寫其他單詞的首字

溫馨提示

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

評論

0/150

提交評論