何時使用委託?何時介面?
在以下情況中使用委託:
1.當使用事件設計模式時.
2.當封裝靜態方法可取時.
3.當呼叫方不需要訪問實現該方法的物件中的其他屬性.方法或介面時.
4.需要方便的組合.
5.當類可能需要方法的多個實現時.
在以下情況使用介面:
1.當存在一組可能被呼叫的相關方法時
2.當類只需要方法的單個實現時
3當使用介面的類想要該介面強制轉化為其他介面或者類型別時
/*皮特的故事*/
using system;
using system.collections.generic;
using system.text;
namespace delegate
class worker
public void dowork()}}
class boss : iworkevents
public void workprogressing()
public int workcompleted()
class universe : iworkevents
static int workcompletework()
public int workcompleted()
public void workprogressing()
public void workstarted()
static void main()}}
C 與C 的區別(三) 委託與事件
在c 中沒有c 中的函式指標的概念,但是有委託的概念,功能與函式指標類似。c 中的委託 delegate 類似於 c 或 c 中函式的指標。委託 delegate 是存有對某個方法的引用的一種引用型別變數。引用可在執行時被改變。委託 delegate 特別用於實現事件和 方法。所有的委託 deleg...
乙個插排引發的設計思想 三 委託與事件
乙個插排引發的設計思想 一 觀察者模式 乙個插排引發的設計思想 二 抽象類與介面 乙個插排引發的設計思想 三 委託與事件 待續.前兩篇文章循序漸進的介紹了觀察者模式 抽象類和介面,並分析了抽象類和介面的不同.結尾處有這樣的問題 無論是抽象類還是介面,都是將裝置本身放入了插排的集合中,那麼我們是否可以...
委託與事件的區別
用乙個公司的場景來說明。假如你是乙個公司的老闆,手下有兩名員工 有點少,呵呵 小張和小王。你給了小王乙個這樣的特權 如果小張玩遊戲,你就可以扣小王500元錢。這就是現實中的委託。在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法,小張還有乙個遊戲事件,他玩遊戲激發這個事件。...