国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

什么是.NET接口?什么是.NET抽象類?

開發(fā) 后端
接口是包含一組虛方法的抽象類型,其中每一種方法都有其名稱、參數和返回值。抽象類提供多個派生類共享基類的公共定義,它既可以提供抽象方法,也可以提供非抽象方法。本文介紹什么是.NET接口和.NET抽象類。

什么是.NET接口?

接口是包含一組虛方法的抽象類型,其中每一種方法都有其名稱、參數和返回值。接口方法不能包含任何實現,CLR允許接口可以包含事件、屬性、索引器、靜態(tài)方法、靜態(tài)字段、靜態(tài)構造函數以及常數。但是注意:C#中不能包含任何靜態(tài)成員。一個類可以實現多個接口,當一個類繼承某個接口時,它不僅要實現該接口定義的所有方法,還要實現該接口從其他接口中繼承的所有方法。

定義方法為:

  1. public interface System.IComparable   
  2. {   
  3. int CompareTo(object o);   
  4. }   
  5.  
  6. public class TestCls: IComparable   
  7. {   
  8. public TestCls()   
  9. {   
  10. }   
  11. private int _value;   
  12. public int Value   
  13. {   
  14. get { return _value; }   
  15. set { _value = value; }   
  16. }   
  17. public int CompareTo(object o)   
  18. {   
  19. //使用as模式進行轉型判斷   
  20. TestCls aCls = o as TestCls;   
  21. if (aCls != null)   
  22. {   
  23.  //實現抽象方法   
  24.  return _value.CompareTo(aCls._value);   
  25. }   
  26. }   
  27. }   
  28.    

什么是.NET抽象類?

抽象類提供多個派生類共享基類的公共定義,它既可以提供抽象方法,也可以提供非抽象方法。抽象類不能實例化,必須通過繼承由派生類實現其抽象方法,因此對抽象類不能使用new關鍵字,也不能被密封。如果派生類沒有實現所有的抽象方法,則該派生類也必須聲明為抽象類。另外,實現抽象方法由overriding方法來實現。

定義方法為:

  1. ///    
  2. /// 定義抽象類   
  3. ///    
  4.  
  5. abstract public class Animal   
  6. {   
  7. //定義靜態(tài)字段   
  8. static protected int _id;   
  9. //定義屬性   
  10. public abstract static int Id   
  11. {   
  12. get;   
  13. set;   
  14. }   
  15. //定義方法   
  16.  
  17. public abstract void Eat();   
  18. //定義索引器   
  19. public string this[int i]   
  20. {   
  21. get;   
  22. set;   
  23. }   
  24.  
  25. ///    
  26. /// 實現抽象類   
  27. ///    
  28.  
  29. public class Dog: Animal   
  30. {   
  31. public static override int Id   
  32. {   
  33.  get {return _id;}   
  34.  set {_id = value;}   
  35. }   
  36. public override void Eat()   
  37. {   
  38.  Console.Write("Dog Eats.")   
  39. }   
  40. }   

.NET接口和.NET抽象類的相同點和不同點

了解了什么是.NET接口和.NET抽象類,我們來看看兩者的異同之處。

相同點

都不能被直接實例化,都可以通過繼承實現其抽象方法。

都是面向抽象編程的技術基礎,實現了諸多的設計模式。

不同點

接口支持多繼承;抽象類不能實現多繼承。

接口只能定義抽象規(guī)則;抽象類既可以定義規(guī)則,還可能提供已實現的成員。

接口是一組行為規(guī)范;抽象類是一個不完全的類,著重族的概念。

接口可以用于支持回調;抽象類不能實現回調,因為繼承不支持。

接口只包含方法、屬性、索引器、事件的簽名,但不能定義字段和包含實現的方法;抽象類可以定義字段、屬性、包含有實現的方法。

接口可以作用于值類型和引用類型;抽象類只能作用于引用類型。例如,Struct就可以繼承接口,而不能繼承類。

通過相同與不同的比較,我們只能說接口和抽象類,各有所長,但無優(yōu)略。在實際的編程實踐中,我們要視具體情況來酌情量才,但是以下的經驗和積累,或許能給大家一些啟示,除了我的一些積累之外,很多都來源于經典,我相信經得起考驗。所以在規(guī)則與場合中,我們學習這些經典,最重要的是學以致用,當然我將以一家之言博大家之笑,看官請繼續(xù)。

.NET接口和.NET抽象類的規(guī)則與場合

請記住,面向對象思想的一個最重要的原則就是:面向接口編程。

借助接口和抽象類,23個設計模式中的很多思想被巧妙的實現了,我認為其精髓簡單說來就是:面向抽象編程。

抽象類應主要用于關系密切的對象,而接口最適合為不相關的類提供通用功能。

接口著重于CAN-DO關系類型,而抽象類則偏重于IS-A式的關系;

接口多定義對象的行為;抽象類多定義對象的屬性;

接口定義可以使用public、protected、internal 和private修飾符,但是幾乎所有的接口都定義為public,原因就不必多說了。

“接口不變”,是應該考慮的重要因素。所以,在由接口增加擴展時,應該增加新的接口,而不能更改現有接口。

盡量將接口設計成功能單一的功能塊,以.NET Framework為例,IDisposable、IDisposable、IComparable、IEquatable、IEnumerable等都只包含一個公共方法。

接口名稱前面的大寫字母“I”是一個約定,正如字段名以下劃線開頭一樣,請堅持這些原則。

在接口中,所有的方法都默認為public。

如果預計會出現版本問題,可以創(chuàng)建“抽象類”。例如,創(chuàng)建了狗(Dog)、雞(Chicken)和鴨(Duck),那么應該考慮抽象出動物(Animal)來應對以后可能出現風馬牛的事情。而向接口中添加新成員則會強制要求修改所有派生類,并重新編譯,所以版本式的問題***以抽象類來實現。

從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實現。

對抽象類不能使用new關鍵字,也不能被密封,原因是抽象類不能被實例化。

在抽象方法聲明中不能使用 static 或 virtual 修飾符。

【編輯推薦】

  1. C#接口定義學習經驗
  2. 概述C# COM接口相關知識
  3. 淺談C#抽象類和C#接口
  4. C# ICloneable接口應用淺析
  5. 為點對點消息隊列設計托管接口
責任編輯:yangsai 來源: 網絡轉載
相關推薦

2009-11-02 17:49:05

VB.NET抽象類

2015-03-23 09:33:43

Java抽象類Java接口Java

2010-01-14 18:08:08

VB.NET抽象類

2009-08-03 14:22:33

什么是ASP.NET

2009-07-23 13:47:28

2009-11-02 17:32:37

VB.NET抽象類

2021-12-23 07:11:31

開發(fā)

2009-11-04 14:44:44

AOP.NET SOA

2020-02-07 10:55:37

抽象類接口秒懂

2020-09-14 17:26:48

抽象工廠模式

2009-11-02 17:24:57

VB.NET語言

2009-08-10 18:31:42

什么是ASP.NET

2009-11-10 13:03:45

VB.NET虛擬碼

2009-08-24 16:46:58

什么是ASP.NET

2010-01-15 13:52:44

VB.NET對象生命周

2023-12-06 12:11:43

類加載器雙親委派模型

2010-03-04 09:40:04

Java接口抽象類

2012-02-29 09:32:01

Java

2021-03-20 22:46:22

IaaSSaaSPaaS

2011-06-28 10:55:20

C#接口抽象類
點贊
收藏

51CTO技術棧公眾號

日本国产精品| 精品久久久免费| 国产精品视频免费观看www| 亚洲欧美电影| 精品久久久久久久一区二区蜜臀| 青青久在线视频免费观看| 自拍偷拍欧美精品| 91在线视频观看免费| 99久久国产免费看| 免费不卡av在线| 国内不卡的二区三区中文字幕| 黑人另类av| 韩国精品一区二区三区| 国产精品流白浆视频| 亚洲精品白浆高清| 日韩av三级在线观看| 色狼人综合干| 国产精品国产三级国产aⅴ浪潮| 久久中文字幕一区二区| 久久精品在线播放| 国产视频网站一区二区三区| 日韩在线视频网站| 99综合久久| 欧美激情亚洲视频| 超碰成人免费| 日韩暖暖在线视频| 日韩一区三区| 国产精品裸体一区二区三区| 91久久视频| 婷婷四房综合激情五月| 免费av成人在线| av 日韩 人妻 黑人 综合 无码| 国产伦精品一区二区三区免费迷 | 国产91在线观看| 日韩中字在线观看| 欧美国产成人精品| 天堂在线观看一卡二卡三卡四卡| 亚洲欧美日韩中文播放| 黄色在线网站| 日韩高清免费观看| 日韩久久99| 国产91久久婷婷一区二区| 久久精品国产亚洲夜色av网站| 99在线观看视频| 精品一区二区综合| 手机视频在线观看| 一本久久精品一区二区| av毛片在线免费| 久久久精品久久久| 午夜精品久久久久久久四虎美女版| 国产精品免费看一区二区三区| 另类成人小视频在线| 黄色片在线免费| 91国产福利在线| 成人不卡视频| 91视频国产精品| 国产一区免费电影| 91佛爷在线| 欧美一区二区三区视频免费| 四虎成人精品一区二区免费网站| 日本三级韩国三级久久| 久久天天综合| 白浆爆出在线观看| 精品噜噜噜噜久久久久久久久试看 | 色阁综合伊人av| 欧美**vk| 亚洲精品一卡二卡三卡四卡| 国产亚洲一区二区三区四区| 色av男人的天堂免费在线| 亚洲国产欧美精品| 国产亚洲电影| 黑人巨茎大战欧美白妇| 一区二区在线观看不卡| 不卡一本毛片| 国产精品久久久久久中文字| 久久99精品国产91久久来源| 蜜桃视频免费网站| 亚洲天堂男人天堂| 久久亚洲专区| 91av资源网| 日韩一区二区在线观看| 免费日韩一区二区三区| 伊人久久av导航| 欧美日韩国产麻豆| 亚洲tv在线| 亚洲精品日韩成人| 粉嫩老牛aⅴ一区二区三区| 97成人超碰| 欧美亚洲免费高清在线观看| 自拍偷拍亚洲激情| 欧美高清免费| 亚洲蜜桃av| 亚洲国产成人午夜在线一区| 国产95亚洲| 伊人国产在线| 国产成人综合久久| 狠狠色狠狠色综合日日tαg| 人妻熟女一二三区夜夜爱| 69堂精品视频| 99久久99久久精品国产片果冰| 日韩精品综合在线| 日韩一区二区视频| 午夜久久美女| 在线视频国产福利| 欧美激情伊人电影| 99久久精品免费| 中文字幕在线直播| 特级西西444www大精品视频| 日本高清不卡aⅴ免费网站| 免费一区二区| 中文字幕高清20页| 久久精品中文字幕| 国产一区二区三区av电影 | 国产精品扒开做爽爽爽的视频| 日本一欧美一欧美一亚洲视频| 99精品1区2区| 在线男人天堂| 亚洲一区二区三区四区中文| 5566中文字幕一区二区电影 | 日韩美女视频在线观看| 久久精品欧美一区二区三区不卡 | 亚洲国产日韩欧美在线动漫| 黄色亚洲精品| 欧美人体大胆444www| 国产成人一区二| 综合婷婷亚洲小说| 哺乳一区二区三区中文视频 | 日韩免费高清av| 国产精品国产| 国产亚洲欧美aaaa| 麻豆91在线观看| 26uuu亚洲电影在线观看| 中文字幕成人在线观看| 国产精品无码永久免费888| 韩国成人动漫| 精品乱子伦一区二区三区| 在线亚洲自拍| 国产精品丝袜在线| 国产精品va视频| 国产精品视频久久| 天天操天天综合网| 日韩一级片免费视频| 成人a免费视频| 一级在线免费视频| 国产亚洲视频中文字幕视频| 国产一区二区在线观看视频| 欧美精品18videosex性欧美| 91精品国产高清一区二区三区蜜臀 | 男人添女人荫蒂免费视频| 欧美精品一区二| 美国毛片一区二区三区| 美女18一级毛片一品久道久久综合| 日韩a级黄色片| 欧美美女18p| 一个色在线综合| 亚洲婷婷在线| 中文字幕在线直播| 天堂一区在线观看| 97超碰人人模人人爽人人看| 精品国产一区二区三区四区四 | 日韩电影免费观看在| 亚洲精品久久久久久下一站 | 久久久精品中文字幕| 亚洲欧美自拍偷拍| 欧美激情一区| 免费看av不卡| 久久午夜剧场| 欧美日韩成人一区二区三区| 中文日韩在线观看| 性做久久久久久免费观看| 亚洲全部视频| 亚洲色图综合| 天堂av电影在线观看| 亚洲一区二区四区| 欧美一区二区三区四区在线| 日本精品一区二区三区四区的功能| 日本美女一区二区三区| 一区二区视频| 国产原厂视频在线观看| 91蝌蚪视频在线观看| 国产v亚洲v天堂无码| 欧美aⅴ一区二区三区视频| 亚洲女同ⅹxx女同tv| 亚洲超碰97人人做人人爱| 国产精品伦一区| 国产精品视频一区二区三区四| 一区二区三区中文字幕精品精品 | 久久成人国产| 亚洲一区二区三区在线免费| 日本中文字幕一区二区有码在线 | 毛片中文在线观看| 亚洲欧洲精品一区二区三区波多野1战4| xx视频.9999.com| 色香蕉久久蜜桃| 久久综合五月天婷婷伊人| 在线观看日韩av电影| 色婷婷av一区二区三区丝袜美腿| 波多野结衣中文字幕久久| 97在线观看免费观看| 日韩人妻无码精品久久久不卡|