成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#中實現多繼承的方式:混合+接口

開發 后端
本文作者朱永光先生,微軟MVP、.NET技術的講師。這里將為大家講解如何在C#中實現多繼承的方式,途徑就是使用混合+接口。

有如下結構的代碼:

image

其中Parent的ApplyEditable是一個Virtual方法,Child要對其進行各自不同的實現,即重寫ApplyEditable方法。

上述代碼中,很明顯ParentA和ParentB有重復代碼。但是由于C#不支持多繼承,所以無法使用多繼承的方式把這些重復代碼封裝起來。

我們只有走變通的道路:經過我的實踐,使用混合+接口的方式。可以比較好的實現多繼承。

我們還是直接來看圖:

image

具體的解決步驟是:

1.把之前在ParentA和ParentB中公共的代碼封裝到BaseC中,并作為Parent的一個屬性。

2.把需要重寫的方法ApplyEditable定義到一個接口IBaseCAction中。(實際上,如果只有一個方法需要重寫的話,可以不用定義接口,直接在BaseC中定義一個Action的委托變量就可以了。當然定義接口更方便支持多個重寫方法。)

3.讓ChildA和ChildB實現IBaseCAction接口,并分別實現ApplyEditable的不同代碼。

4.在Child類的構造器中,把自己傳給BaseC的實例化,即this.BaseC = new BaseC(this);

我就不貼代碼了,完整的源代碼下載地址為:http://cid-f73516baeac50992.skydrive.live.com/self.aspx/SharedCode/MultiDerived.zip

【編輯推薦】

  1. C#中的Adapter設計模式淺析
  2. VB.NET和C#逐層橫向對比
  3. C#3.0中自動屬性和對象初始化器
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-06-16 10:20:05

多繼承C#

2009-08-24 10:31:37

C#接口繼承

2009-09-01 18:29:10

C#繼承C#多態

2009-09-24 15:20:54

C#接口定義

2024-12-20 09:48:47

C#Python代碼

2009-08-31 15:55:17

C#實現Strateg

2009-08-25 17:55:52

C#實現Strateg

2009-07-31 18:28:46

實現C#顯示圖像

2011-07-14 11:08:30

C#繼承

2009-08-13 18:15:06

C#繼承構造函數

2009-08-31 18:01:41

C#接口事件

2009-08-31 17:16:12

C#實現接口

2009-08-24 10:06:31

C#接口成員

2024-10-09 07:59:10

C#接口信息

2009-02-05 15:32:23

接口委托

2024-09-13 08:27:00

2009-05-26 16:33:48

PythonC#Run As

2009-09-04 13:22:31

C#實現多個接口

2009-09-01 18:29:24

C#實現多個接口

2009-08-24 10:47:45

C#接口重實現
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线一区 | 国产98在线 | 免费, | 国产精品一区二区久久 | 国产成人精品免高潮在线观看 | 国产一级毛片精品完整视频版 | 久久天堂网 | 日本一区二区三区精品视频 | 俺去俺来也www色官网cms | 欧美精品综合在线 | 成人免费一区二区三区视频网站 | 亚州精品天堂中文字幕 | 在线视频 亚洲 | 自拍视频网站 | 欧美久久视频 | 成人免费黄视频 | 日韩中文字幕一区 | 一区二区三区四区免费在线观看 | 午夜爱爱毛片xxxx视频免费看 | 特黄毛片视频 | 国产精彩视频在线观看 | 欧美在线一区二区三区 | 91精品国产高清久久久久久久久 | 激情欧美日韩一区二区 | 免费成年网站 | www国产精品 | 国产999精品久久久 午夜天堂精品久久久久 | 日本一区二区三区免费观看 | 北条麻妃视频在线观看 | 久久久精彩视频 | 精品免费看 | 免费亚洲一区二区 | 一级美国黄色片 | 欧美一区二区三区四区五区无卡码 | 日本黄色影片在线观看 | 亚洲图片一区二区三区 | 午夜视频网 | 欧美婷婷 | 精品中文在线 | 欧美国产日韩在线观看成人 | 亚洲一区 | 一区二区三区视频在线观看 |