何時使用委託而不使用介面(C 程式設計指南)

2021-04-15 04:46:20 字數 747 閱讀 2105

c# 程式設計指南

何時使用委託而不使用介面(c# 程式設計指南)

委託和介面都允許類設計器分離型別宣告和實現。給定的介面

可由任何類

或結構繼承和實現;可以為任何類中的方法建立委託

,前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計器何時應使用委託,何時又該使用介面呢?

在以下情況中使用委託:

當使用事件設計模式時。

當封裝靜態方法可取時。

當呼叫方不需要訪問實現該方法的物件中的其他屬性、方法或介面時。

需要方便的組合。

當類可能需要該方法的多個實現時。

在以下情況中使用介面:

當存在一組可能被呼叫的相關方法時。

當類只需要方法的單個實現時。

當使用介面的類想要將該介面強制轉換為其他介面或類型別時。

使用單一方法介面而不使用委託的乙個很好的示例是 icomparable

或 icomparable

icomparable宣告 compareto

方法,該方法返回乙個整數,以指定相同型別的兩個物件之間的小於、等於或大於關係。icomparable可用作排序演算法的基礎,雖然將委託比較方法用作排序演算法的基礎是有效的,但是並不理想。因為進行比較的能力屬於類,而比較演算法不會在執行時改變,所以單一方法介面是理想的。

何時使用委託而不使用介面 (C )

委託和介面都允許類設計器分離型別宣告和實現。任何 類或 結構都能繼承和實現給定的 介面。可以為任何類上的方法建立 委託,前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計器何時應使用委託,何時又該使用介面呢?在以下情況下,請使用...

何時使用委託而不使用介面 (C )

委託和介面都允許類設計器分離型別宣告和實現。任何 類或 結構都能繼承和實現給定的 介面。可以為任何類上的方法建立 委託,前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計器何時應使用委託,何時又該使用介面呢?在以下情況下,請使用...

何時使用委託而不使用介面

委託和介面都允許類設計器分離型別宣告和實現。給定的介面 可由任何類 或結構繼承和實現 可以為任何類中的方法建立委託 前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計器何時應使用委託,何時又該使用介面呢?在以下情況中使用委託 在...