版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、6.sealed 修飾符是干什么的?答:sealed 修飾符表示密封用于類時,表示該類不能再被繼承,不能和 abstract 同時使用,因為這兩個修飾符在含義上互相排斥用于方法和屬性時,表示該方法或屬性不能再被繼承,必須和 override 關鍵字一起使用,因為使用 sealed 修飾符的方法或屬性肯定是基類中相應的虛成員通常用于實現(xiàn)第三方類庫時不想被客戶端繼承,或用于沒有必要再繼承的類以防止濫用繼承造成層次結構體系混亂恰當?shù)睦?sealed 修飾符也可以提高一定的運行效率,因為不用考慮繼承類會重寫該成員示例:using System;using System.Collections.Gen
2、eric;using System.Text; namespace Example06 class Program class A public virtual void F() Console.WriteLine("A.F"); public virtual void G() Console.WriteLine("A.G"); class B : A public sealed override void F() Console.WriteLine("B.F"); public override void G() Cons
3、ole.WriteLine("B.G"); class C : B public override void G() Console.WriteLine("C.G"); static void Main(string args) new A().F(); new A().G(); new B().F(); new B().G(); new C().F(); new C().G(); Console.ReadLine(); 結果:類 B 在繼承類 A 時可以重寫兩個虛函數(shù),如圖所示:由于類 B 中對 F 方法進行了密封, 類 C 在繼承類 B
4、時只能重寫一個函數(shù),如圖所示:控制臺輸出結果,類 C 的方法 F 只能是輸出 類B 中對該方法的實現(xiàn):A.FA.GB.FB.GB.FC.G 7.override 和 overload 的區(qū)別?答:override 表示重寫,用于繼承類對基類中虛成員的實現(xiàn)overload 表示重載,用于同一個類中同名方法不同參數(shù)(包括類型不同或個數(shù)不同)的實現(xiàn)示例:using System;using System.Collections.Generic;using System.Text; namespace Example07 class Program class BaseClass publi
5、c virtual void F() Console.WriteLine("BaseClass.F"); class DeriveClass : BaseClass public override void F() base.F(); Console.WriteLine("DeriveClass.F"); public void Add(int Left, int Right) Console.WriteLine("Add for Int: 0", Left + Right); public void Add(double Left,
6、 double Right) Console.WriteLine("Add for int: 0", Left + Right); static void Main(string args) DeriveClass tmpObj = new DeriveClass(); tmpObj.F(); tmpObj.Add(1, 2); tmpObj.Add(1.1, 2.2); Console.ReadLine(); 結果:BaseClass.FDeriveClass.FAdd for Int: 3Add for int: 3.3 8.什么是索引指示器?答:實現(xiàn)索引指
7、示器(indexer)的類可以象數(shù)組那樣使用其實例后的對象,但與數(shù)組不同的是索引指示器的參數(shù)類型不僅限于int簡單來說,其本質就是一個含參數(shù)屬性示例: using System;using System.Collections.Generic;using System.Text; namespace Example08 public class Point private double x, y;
8、0; public Point(double X, double Y) x = X; y = Y;
9、60; /重寫ToString方法方便輸出 public override string ToString() return String.Format("X: 0 , Y: 1", x, y);
10、; public class Points Point points; public Points(Point Points)
11、; points = Points; public int PointNumber get
12、 return points.Length;
13、60; /實現(xiàn)索引訪問器 public Point thisint Index get
14、60; return pointsIndex; /感謝watson hua( /索引指示器的實質是含參
15、屬性,參數(shù)并不只限于int class WeatherOfWeek public string thisint Index get
16、; /注意case段使用return直接返回所以不需要break switch (Index)
17、 case 0:
18、160; return "Today is cloudy!"
19、160; case 5:
20、0; return "Today is thundershower!"
21、60; default:
22、; return "Today is fine!"
23、 public string thiss
24、tring Day get string TodayWeather
25、= null; /switch的標準寫法 switch (Day)
26、60; case "Sunday":
27、 TodayWeather = "Today is cloudy!"
28、0; break;
29、160; case "Friday":
30、 TodayWeather = "Today is thundershower!" break;
31、160; default:
32、0; TodayWeather = "Today is fine!"
33、60; break; &
34、#160; return TodayWeather;
35、 class Program static void Main(string args) Point tmpPoints = new Point10; &
36、#160; for (int i = 0; i < tmpPoints.Length; i+) tmpPointsi = new Point(i, Math.Sin(i);
37、 Points tmpObj = new Points(tmpPoints); for (int i = 0; i < tmpObj.PointNumber; i+)
38、60; Console.WriteLine(tmpObji); string W
39、eek = new string "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday" WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();
40、; for (int i = 0; i < 6; i+) Console.WriteLine(tmpWeatherOfWeeki);
41、160; foreach (string tmpDay in Week) Con
42、sole.WriteLine(tmpWeatherOfWeektmpDay); Console.ReadLine(); 結果:9.new 修飾符是起什么作用?答:new 修飾符與 new 操作符是兩個
43、概念new 修飾符用于聲明類或類的成員,表示隱藏了基類中同名的成員。而new 操作符用于實例化一個類型new 修飾符只能用于繼承類,一般用于彌補基類設計的不足new 修飾符和 override 修飾符不可同時用在一個成員上,因為這兩個修飾符在含義上互相排斥示例:using System;using System.Collections.Generic;using System.Text; namespace Example09 class BaseClass /基類設計者聲明了一個PI的公共變量,方便進行運算 public static double PI = 3.1415; cla
44、ss DervieClass : BaseClass /繼承類發(fā)現(xiàn)該變量的值不能滿足運算精度,于是可以通過new修飾符顯式隱藏基類中的聲明 public new static double PI = 3.1415926; class Program static void Main(string args) Console.WriteLine(BaseClass.PI); Console.WriteLine(DervieClass.PI); Console.ReadLine(); 結果:3.14153.1415926 10.this 關鍵字的含義?答:this 是一個保留字,僅限于構造函數(shù)和方法成員中使用在類的構造函數(shù)中出現(xiàn)表示對正在構造的對象本身的引用,在類的方法中出現(xiàn)表示對調用該方法的對象的引用,在結構的構造上函數(shù)中出現(xiàn)表示對正在構造的結構的引用,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 7948-2024滑動軸承塑料軸套極限PV試驗方法
- 受眾定向技術行業(yè)經(jīng)營分析報告
- 芯片讀卡器產品供應鏈分析
- 電壓力鍋高壓鍋市場發(fā)展前景分析及供需格局研究預測報告
- 手機游戲開發(fā)行業(yè)經(jīng)營分析報告
- 皮制錢包項目運營指導方案
- 室內裝潢的消毒行業(yè)市場調研分析報告
- 玻璃鋼軸流風機項目營銷計劃書
- 坐便器產業(yè)鏈招商引資的調研報告
- 斷布機產品供應鏈分析
- 【加加食品產品成本控制問題及完善措施分析9600字】
- 【《青島海爾公司應收賬款狀況調研分析報告》16000字】
- 服裝行業(yè)競爭對手分析報告
- 2024年惠州仲愷城市發(fā)展集團有限公司招聘筆試沖刺題(帶答案解析)
- 《特種設備事故隱患排查治理體系細則DB 37T 3079-2017》
- 《新時代“一帶一路”的戰(zhàn)略解讀與機遇》題庫
- 2024年“民用無人機及多旋翼無人機”駕駛員操控員技能與理論知識考試題庫含答案
- 生物信息學(上海海洋大學)智慧樹知到期末考試答案2024年
- 教科版小學科學二年級上冊教案(全冊)教學設計
- 2024年深圳市考公務員錄用考試《行測》試題(網(wǎng)友回憶版)
- 人美版七年級下冊《美術》單元作業(yè)設計
評論
0/150
提交評論