版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度首付分期購房借款合同范本規(guī)定6篇
- 年度線性低密度聚乙烯產(chǎn)業(yè)分析報告
- 年度吸污車產(chǎn)業(yè)分析報告
- 2025年度樓房建筑工程合同糾紛解決協(xié)議4篇
- 二零二四年養(yǎng)老社區(qū)三方物業(yè)服務委托合同文本3篇
- 二零二五年度船舶租賃船運輸協(xié)議合同3篇
- 二零二五年酒店客房家具更新?lián)Q代合同3篇
- 2025年度智能交通信號系統(tǒng)安裝與維護承包協(xié)議合同范本3篇
- 二零二五版教育培訓機構合同標的課程開發(fā)與教學質量承諾3篇
- 2025年度生物質能發(fā)電項目合作協(xié)議合同范本
- GB/T 33688-2017選煤磁選設備工藝效果評定方法
- GB/T 304.3-2002關節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應、運輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
- 《基礎馬來語》課程標準(高職)
- IEC61850研討交流之四-服務影射
- 《兒科學》新生兒窒息課件
- 材料力學壓桿穩(wěn)定
評論
0/150
提交評論