自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#基礎(chǔ)知識(shí)總結(jié)

開(kāi)發(fā) 后端
本文介紹C#基礎(chǔ)知識(shí)總結(jié),包括sealed 修飾符表示密封、override 表示重寫(xiě)、overload 表示重載和實(shí)現(xiàn)索引指示器的類(lèi)可以象數(shù)組那樣使用其實(shí)例后的對(duì)象。

C#基礎(chǔ)知識(shí)之sealed 修飾符是干什么的?

sealed 修飾符表示密封,用于類(lèi)時(shí),表示該類(lèi)不能再被繼承,不能和 abstract 同時(shí)使用,因?yàn)檫@兩個(gè)修飾符在含義上互相排斥,用于方法和屬性時(shí),表示該方法或?qū)傩圆荒茉俦焕^承,必須和 override 關(guān)鍵字一起使用,因?yàn)槭褂?sealed 修飾符的方法或?qū)傩钥隙ㄊ腔?lèi)中相應(yīng)的虛成員,通常用于實(shí)現(xiàn)第三方類(lèi)庫(kù)時(shí)不想被客戶(hù)端繼承,或用于沒(méi)有必要再繼承的類(lèi)以防止濫用繼承造成層次結(jié)構(gòu)體系混亂,恰當(dāng)?shù)睦?sealed 修飾符也可以提高一定的運(yùn)行效率,因?yàn)椴挥每紤]繼承類(lèi)會(huì)重寫(xiě)該成員

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example06 {   
  6. class Program {   
  7. class A {   
  8. public virtual void F(){   
  9. Console.WriteLine("A.F");  
  10. }   
  11. public virtual void G(){   
  12. Console.WriteLine("A.G");  
  13. }   
  14. class B : A { 
  15. public sealed override void F(){   
  16. Console.WriteLine("B.F");  
  17. }   
  18. public override void G(){   
  19. Console.WriteLine("B.G");  
  20. }   
  21. class C : B { public override void G(){   
  22. Console.WriteLine("C.G");  
  23. }   
  24. static void Main(string[] args){   
  25. new A()。F();new A()。G();  
  26. new B()。F();new B()。G();  
  27. new C()。F();new C()。G();  
  28.  
  29. Console.ReadLine();  

C#基礎(chǔ)知識(shí)之override 和 overload 的區(qū)別?

override 表示重寫(xiě),用于繼承類(lèi)對(duì)基類(lèi)中虛成員的實(shí)現(xiàn),overload 表示重載,用于同一個(gè)類(lèi)中同名方法不同參數(shù)(包括類(lèi)型不同或個(gè)數(shù)不同)的實(shí)現(xiàn)

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example07 {   
  6. class Program {   
  7. class BaseClass {   
  8. public virtual void F(){   
  9. Console.WriteLine("BaseClass.F");  
  10. }   
  11. class DeriveClass : BaseClass {   
  12. public override void F(){   
  13. base.F();  
  14. Console.WriteLine("DeriveClass.F");  
  15. }   
  16. public void Add(int Left, int Right){   
  17. Console.WriteLine("Add for Int: {0}", Left + Right);  
  18. }   
  19. public void Add(double Left, double Right){   
  20. Console.WriteLine("Add for int: {0}", Left + Right);  
  21. }   
  22. static void Main(string[] args){   
  23. DeriveClass tmpObj = new DeriveClass();  
  24. tmpObj.F();  
  25. tmpObj.Add(1, 2);  
  26. tmpObj.Add(1.1, 2.2);  
  27.  
  28. Console.ReadLine();  

C#基礎(chǔ)知識(shí)之什么是索引指示器?

實(shí)現(xiàn)索引指示器(indexer)的類(lèi)可以象數(shù)組那樣使用其實(shí)例后的對(duì)象,但與數(shù)組不同的是索引指示器的參數(shù)類(lèi)型不僅限于int,簡(jiǎn)單來(lái)說(shuō),其本質(zhì)就是一個(gè)含參數(shù)屬性

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example08 {   
  6. public class Point {   
  7. private double x, y;  
  8. public Point(double X, double Y){   
  9. x = X;y = Y;  
  10. }   
  11. //重寫(xiě)ToString方法方便輸出  
  12. public override string ToString(){   
  13. return String.Format("X: {0} , Y: {1}", x, y);  
  14. }   
  15. public class Points {   
  16. Point[] points;public Points(Point[] Points){   
  17. points = Points;  
  18. }   
  19. public int PointNumber {   
  20. get {   
  21. return points.Length;  
  22. }   
  23. //實(shí)現(xiàn)索引訪(fǎng)問(wèn)器public Point this[int Index] {   
  24. get { return points[Index];  
  25. }  
  26.  
  27. //感謝watson hua(http://huazhihao.cnblogs.com/)的指點(diǎn)  
  28. //索引指示器的實(shí)質(zhì)是含參屬性,參數(shù)并不只限于int class WeatherOfWeek {   
  29. public string this[int Index] {   
  30. get {   
  31. //注意case段使用return直接返回所以不需要break switch (Index){   
  32. case 0:{   
  33. return "Today is cloudy!";  
  34. }   
  35. case 5:{   
  36. return "Today is thundershower!";  
  37. }   
  38. default:{   
  39. return "Today is fine!";  
  40. }   
  41. public string this[string Day] {   
  42. get {   
  43. string TodayWeather = null;  
  44. //switch的標(biāo)準(zhǔn)寫(xiě)法switch (Day){   
  45. case "Sunday":{   
  46. TodayWeather = "Today is cloudy!";break;  
  47. }   
  48. case "Friday":{   
  49. TodayWeather = "Today is thundershower!";  
  50. break;  
  51. }   
  52. default:{   
  53. TodayWeather = "Today is fine!";break;  
  54. }   
  55. return TodayWeather;  
  56. }   
  57. class Program {   
  58. static void Main(string[] args){   
  59. Point[] tmpPoints = new Point[10];  
  60. for (int i = 0; i < tmpPoints.Length; i++){   
  61. tmpPoints[i] = new Point(i, Math.Sin(i));  
  62. }  
  63.  
  64. Points tmpObj = new Points(tmpPoints);  
  65. for (int i = 0; i < tmpObj.PointNumber; i++){   
  66. Console.WriteLine(tmpObj[i]);}  
  67.  
  68. string[] Week = new string[] {   
  69. "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday"  
  70. }  
  71. WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();  
  72. for (int i = 0; i < 6; i++){   
  73. Console.WriteLine(tmpWeatherOfWeek[i]);  
  74. }   
  75. foreach (string tmpDay in Week){   
  76. Console.WriteLine(tmpWeatherOfWeek[tmpDay]);  
  77. }  
  78.  
  79. Console.ReadLine();  

【編輯推薦】

  1. C#反射方法學(xué)習(xí)總結(jié)
  2. 淺談C#測(cè)量cpu性能
  3. C#遠(yuǎn)程計(jì)算機(jī)的一些理論知識(shí)
  4. 淺析C# Static修飾
  5. C#轉(zhuǎn)換農(nóng)歷的簡(jiǎn)單方法
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-08-27 16:37:06

C#基礎(chǔ)知識(shí)

2009-08-19 17:13:15

C# 操作符基礎(chǔ)知識(shí)

2009-08-13 16:13:03

C#基礎(chǔ)知識(shí)

2009-08-11 15:17:12

C#基礎(chǔ)知識(shí)

2009-08-13 15:40:28

C#基礎(chǔ)知識(shí)

2010-01-19 14:45:35

C++語(yǔ)言

2009-08-03 13:55:03

C#基礎(chǔ)知識(shí)

2009-08-24 17:07:09

C# 泛型

2009-08-21 17:19:36

C#網(wǎng)絡(luò)編程入門(mén)

2009-06-25 15:24:25

Java基礎(chǔ)知識(shí)

2018-10-31 14:44:13

VLANN基礎(chǔ)知識(shí)

2009-08-13 18:02:50

C#基礎(chǔ)概念

2009-08-19 16:19:01

C#操作Access數(shù)

2010-01-19 10:16:40

C++程序

2009-08-06 17:42:32

C#知識(shí)點(diǎn)

2009-08-07 13:30:20

C# Excel導(dǎo)入

2009-08-13 10:52:03

C#基礎(chǔ)概念

2011-07-27 12:19:10

交換機(jī)交換技術(shù)

2011-07-29 11:32:16

路由PIM

2011-07-27 12:19:14

交換機(jī)第四層交換機(jī)三層交換機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)