欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

C#中的抽象類和接口

系統(tǒng) 2141 0

一、抽象類:
抽象類是特殊的類,只是不能被實例化;除此以外,具有類的其他特性;重要的是抽象類可以包括抽象方法,這是普通類所不能的。抽象方法只能聲明于抽象類中,且不包含任何實現(xiàn),派生類必須覆蓋它們。

另外,抽象類可以派生自一個抽象類,可以覆蓋基類的抽象方法也可以不覆蓋,如果不覆蓋,則其派生類必須覆蓋它們。

C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 抽象類 實例
1 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public abstract class A
2 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
3 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 private int ? num = null ;
4 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
5 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public int ? Num
6 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
7 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 get C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 { return num;}
8 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 set C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {num = value;}
9 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

10 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
11 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public virtual int ? getNum()
12 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
13 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 return num;
14 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

15 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
16 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public void setNum( int ? n)
17 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
18 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 this .num = n;
19 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

20 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
21 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public abstract void F();
22 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

23 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
24 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public abstract class B:A
25 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
26 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 // publicoverridevoidF()
27 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 // {
28 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 // thrownewException("Themethodoroperationisnotimplemented.");
29 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 // }
30 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
31 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public abstract void E();
32 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

33 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
34 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public class C:B
35 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
36 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 private C()
37 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
38 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

39 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
40 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public override void E()
41 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
42 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 throw new Exception( " Themethodoroperationisnotimplemented. " );
43 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

44 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
45 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public override void F()
46 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
47 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 Cc = new C();
48 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 throw new Exception( " Themethodoroperationisnotimplemented. " );
49 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

50 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

二、接口:
接口是引用類型的,類似于類,更和抽象類有所相似,以至于很多人對抽象類和接口的區(qū)別比較模糊。和抽象類的相似之處有三點(diǎn):
1、不能實例化;
2、包含未實現(xiàn)的方法聲明;
3、派生類必須實現(xiàn)未實現(xiàn)的方法,抽象類是抽象方法,接口則是所有成員(不僅是方法包括其他成員);

另外,接口有如下特性:
接口除了可以包含方法之外,還可以包含屬性、索引器、事件,而且這些成員都被定義為公有的。除此之外,不能包含任何其他的成員,例如:常量、域、構(gòu)造函數(shù)、析構(gòu)函數(shù)、靜態(tài)成員。
一個類可以直接繼承多個接口,但只能直接繼承一個類(包括抽象類)。

C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 接口實例
1 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public delegate void Del();
2 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 public interface ITest
3 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
4 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 // int?a=null;
5 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
6 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 int A
7 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
8 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 get ;
9 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

10 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路
11 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 void Test();
12 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 event Del?el;
13 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 int this [ int index]
14 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 {
15 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 get ;
16 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 set ;
17 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

18 C抽象類和接口的區(qū)別 - readwall - 鄉(xiāng)間小路 }

注意!還有另外一種類不能被實例化:
所有構(gòu)造函數(shù)都被標(biāo)記為private,這種類也是不能被實例化的,嚴(yán)格的說是不能在類外被實例化,可以在此類的內(nèi)部實例化(這種方式可以用于實現(xiàn)單件設(shè)計模式)。注意一點(diǎn),這樣的類也不能夠作為基類來繼承。

三、抽象類和接口的使用:
抽象類用于部分實現(xiàn)一個類,再由用戶按需求對其進(jìn)行不同的擴(kuò)展和完善;接口只是定義一個行為的規(guī)范或規(guī)定。
抽象類在組件的所有實現(xiàn)間提供通用的已實現(xiàn)功能;接口創(chuàng)建在大范圍全異對象間使用的功能。
抽象類主要用于關(guān)系密切的對象;而接口適合為不相關(guān)的類提供通用功能。
抽象類主要用于設(shè)計大的功能單元;而接口用于設(shè)計小而簡練的功能塊。

例如:
Window窗體可以用抽象類來設(shè)計,可以把公有操作和屬性放到一個抽象類里,讓窗體和對話框繼承自這個抽象類,再根據(jù)自己的需求進(jìn)行擴(kuò)展和完善。
打印操作可以作為一個接口提供給每個需要此功能的窗體,因為窗體的內(nèi)容不同,就要根據(jù)他們自己的要求去實現(xiàn)自己的打印功能。打印時只通過接口來調(diào)用,而不用在乎是那個窗體要打印。

C#中的抽象類和接口


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 2022最新a精品视频在线观看 | 魏千翔| 日本高清视频www夜色资源网 | 暖暖av| 嫩草影院地址一二三网址 | 亚洲欧美日本人成在线观看 | 欧美日韩a | 魔法骑士在线观看免费完整版 | 91精品视频免费 | 国产午夜精品福利视频 | 亚洲色图国产 | 亚洲最大视频网站 | 奇米影音第四色 | 黄片毛片一级 | 久操网址 | 久久精品免费观看 | 欧洲另类一二三四区 | 亚洲国产成人av好男人在线观看 | 日本久久黄色 | 草草视频在线 | 妞干网在线观看 | 国产精品成人品 | 欧美精品一区二区三区在线播放 | 亚洲人人 | a成人| 国产婷婷精品av在线 | 国产自啪啪| 国产成人精品免费视频大全最热 | 欧美一级免费 | 亚洲色欲色欲www | 成人福利视频在线看高清观看 | 亚洲国产成人精品女人久久久 | 日本国产网站 | 在线三级电影 | 91精品国产91久久久久久最新 | 久久婷婷色一区二区三区 | 日韩中文字幕在线观看视频 | 国产拳头交一区二区 | 久草app下载 | 一级一级毛片免费看 | 日韩免费毛片 |