面向對象和重載概念_第1頁
面向對象和重載概念_第2頁
面向對象和重載概念_第3頁
面向對象和重載概念_第4頁
面向對象和重載概念_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章第四章屬性 索引器2回顧 q 類是 C# 中的一種結構,用于在程序中模擬現(xiàn)實生活的對象q 成員變量表示對象的特征q 方法表示對象可執(zhí)行的操作q 如果類中未定義構造函數(shù),則由運行庫提供默認構造函數(shù)q 析構函數(shù)不能重載,并且每個類只能有一個析構函數(shù)q 可以根據(jù)不同數(shù)量的參數(shù)或不同數(shù)據(jù)類型參數(shù)對方法進行重載,不能根據(jù)返回值進行方法重載q 命名空間用來界定類所屬的范圍,類似于Java中的包3目標q掌握屬性及其使用q掌握索引器的用法q理解局部類屬性簡介 3-1class Employeeprivate static string _name;private static string _id;st

2、atic void Main(string args)_name = Console.ReadLine();_id = Console.ReadLine(); 直接訪問字段 不經(jīng)驗證 屬性簡介 3-2class Employee private static string _name; private static string _id; public void SetId(value) / 驗證輸入長度小于 2if (_id.Length 2)_id = value; public string GetId() return _id; 方法 SetId(Value) 和 GetId() 分別

3、讀取和寫入職員 ID Employee emp; emp.SetId(A1); string Department = emp.Get() 每次都調(diào)用 GetId() 和 SetId()方法會很繁瑣屬性屬性簡介 3-3class Employee private static string _name; private static string _id; public string Id get return _id; set/ 驗證輸入長度小于 2if (_id.Length 2)_id = value; 讀取 ID 時調(diào)用 將值賦給 ID 時調(diào)用 屬性類型 4-1 訪問修飾符 數(shù)據(jù)類型

4、屬性名 get ; set ; 讀/寫屬性可以賦值和檢索值屬性類型 4-2訪問修飾符 數(shù)據(jù)類型 屬性名get ;只讀屬性只能檢索值屬性類型 4-3訪問修飾符 數(shù)據(jù)類型 屬性名set ;只寫屬性只能賦值屬性類型 4-4訪問修飾符static 數(shù)據(jù)類型 屬性名get;set;靜態(tài)屬性應用于整個類而不是類的實例只能訪問類的靜態(tài)成員class SavingsAccount/ 類字段用于存儲帳號、余額和已獲利息private int _accountNumber;private double _balance;private double _interestEarned;/ 利率是靜態(tài)的,因為所有帳戶獲

5、得的利息相同private static double _interestRate;/ 構造函數(shù)初始化類成員public SavingsAccount(int accountNumber, double balance)this._accountNumber = accountNumber;this._balance = balance;/ 只讀 AccountNumber 屬性public int AccountNumbergetreturn _accountNumber;演示定義和調(diào)用屬性 4-1 只讀屬性 定義和調(diào)用屬性 4-2static void Main(string args)/

6、 創(chuàng)建 SavingsAccount 的對象SavingsAccount objSavingsAccount = new SavingsAccount(12345, 5000);Console.WriteLine(輸入到現(xiàn)在為止已獲得的利息和利率);objSavingsAccount.InterestEarned = Int64.Parse(Console.ReadLine();SavingsAccount.InterestRate = Int64.Parse(Console.ReadLine();objSavingsAccount.InterestEarned += objSavingsAc

7、count.Balance * SavingsAccount.InterestRate;Console.WriteLine(獲得的總利息為: 0, objSavingsAccount.InterestEarned);public double InterestEarnedgetreturn _interestEarned;set/ 驗證數(shù)據(jù)if (value 0.0)Console.WriteLine(“利息 不能為負數(shù));return;_interestEarned = value;將設置 InterestEarned 屬性定義和調(diào)用屬性 4-3static void Main(string

8、 args)/ 創(chuàng)建 SavingsAccount 的對象SavingsAccount objSavingsAccount = new SavingsAccount(12345, 5000);Console.WriteLine(輸入到現(xiàn)在為止已獲得的利息和利率);objSavingsAccount.InterestEarned = Int64.Parse(Console.ReadLine();SavingsAccount.InterestRate = Int64.Parse(Console.ReadLine();objSavingsAccount.InterestEarned += objSa

9、vingsAccount.Balance * SavingsAccount.InterestRate;Console.WriteLine(獲得的總利息為: 0, objSavingsAccount.InterestEarned);將設置 InterestRate 屬性public static double InterestRategetreturn _interestRate;set/ 驗證數(shù)據(jù)if (value 0.0)Console.WriteLine(“利率不能為負數(shù));return;else_interestRate = value / 100;定義和調(diào)用屬性 4-4static v

10、oid Main(string args)/ 創(chuàng)建 SavingsAccount 的對象SavingsAccount objSavingsAccount = new SavingsAccount(12345, 5000);Console.WriteLine(“輸入到現(xiàn)在為止已獲得的利息和利率);objSavingsAccount.InterestEarned = Int64.Parse(Console.ReadLine();SavingsAccount.InterestRate = Int64.Parse(Console.ReadLine();objSavingsAccount.Interes

11、tEarned += objSavingsAccount.Balance * SavingsAccount.InterestRate;Console.WriteLine(獲得的總利息為: 0, objSavingsAccount.InterestEarned);將檢索 Balance 和 InterestRate 屬性public double Balancegetif (_balance 0)Console.WriteLine(沒有可用余額);return _balance;索引器訪問修飾符 數(shù)據(jù)類型 this數(shù)據(jù)類型 標識符get;set;語法定義和調(diào)用索引器 4-1 演示class Ph

12、otostring _title;public Photo(string title)this._title = title;public string Titlegetreturn _title;以 Title 屬性表示照片將照片存放于數(shù)組 photos 中class Album/ 該數(shù)組用于存放照片Photo photos;public Album(int capacity)photos = new Photocapacity;定義和調(diào)用索引器 4-2public Photo thisint indexget/ 驗證索引范圍if (index = photos.Length)Console

13、.WriteLine(索引無效);/ 使用 null 指示失敗return null;/ 對于有效索引,返回請求的照片return photosindex;setif (index = photos.Length)Console.WriteLine(索引無效);return;photosindex = value;帶有 int 參數(shù)的 Photo 索引器讀/寫索引器定義和調(diào)用索引器定義和調(diào)用索引器 4-3public Photo thisstring titleget/ 遍歷數(shù)組中的所有照片foreach (Photo p in photos) / 將照片中的標題與索引器參數(shù)進行比較 if (

14、p.Title = title) return p;Console.WriteLine(未找到);/ 使用 null 指示失敗return null;帶有 string 參數(shù)的 Photo 索引器只讀索引器定義和調(diào)用索引器 4-4static void Main(string args)/ 創(chuàng)建一個容量為 3 的相冊Album friends = new Album(3);/ 創(chuàng)建 3 張照片Photo first = new Photo(Jenn);Photo second = new Photo(Smith);Photo third = new Photo(Mark);/ 向相冊加載照片friends0 = first;friends1 = second;friends2 = third;/ 按索引檢索Photo obj1Photo = friends2; Console.WriteLine(obj1Photo.Title);/ 按名稱檢索Photo obj2Photo = friendsJenn; Con

溫馨提示

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

評論

0/150

提交評論