部落格遷移
隱式實現 不知道成員的歸屬
顯示實現 顯示指定成員的歸屬(通過 介面名.成員 )
顯式實現避免了成員歸屬混淆不清的情況,特別是多個介面中有相同的成員,或者介面中成員和類自己的成員衝突的情況。
隱式實現
public
inte***ce ibaseinte***ce1
public
inte***ce ibaseinte***ce2
public
class test : ibaseinte***ce1, ibaseinte***ce2
public
void
method2()
}
顯式實現
public
inte***ce ibaseinte***ce1
public
inte***ce ibaseinte***ce2
public
class test1 : ibaseinte***ce1,ibaseinte***ce2
void ibaseinte***ce1.method2()
void ibaseinte***ce2.method1()
void ibaseinte***ce2.method2()
}
有時某個類往往會繼承多個介面,而介面中往往會有一些相同名稱、引數與型別的值。通過顯式介面實現可以為避免一些不必要的歧義。
隱式介面實現,類和介面都可訪問介面中方法。顯式介面實現,只能通過介面訪問。
注意:顯式實現的成員不能用public來修飾,所以該成員不能通過該類來訪問,只能通過介面訪問。
比如
test1 test = new test1();
test.method1();//呼叫會出錯 這樣呼叫是調不到的
ibaseinte***ce1 itest = test as test1;
itest.method1();
結:2015.7.30改 C 介面的隱式與顯示實現
c 介面的隱式與顯示實現 通俗的來講,顯示介面實現 就是使用介面名稱作為方法名的字首 而傳統的實現方式稱之為 隱式介面實現 費話不說,例子如下 inte ce ianimal class animal ianimal 定義了乙個ianimal介面,一般我們都會這麼呼叫 通過類呼叫 animal an...
C 介面的隱式與顯示實現
隱式實現的話實現的方法屬於實現的類的,可以直接通過類的物件訪問,顯式實現的話方法是屬於介面的,可以看成是寄託在類中實現的,訪問這些方法時要先把物件轉換成介面物件,然後通過介面物件呼叫一般來講顯式實現用得比較少,但是在實現具有相同名稱和簽名的兩個介面方法時就必須用到了。在實際專案中,有時某個類往往會繼...
C 介面的顯示實現和隱示實現
介面的實現很多人都知道,但介面的實現方式分顯示實現和隱示實現不知道是不是很多人知道呢!但我覺的公司技術部裡很少提到這個,就想起來寫寫這篇blogs。目前常用的方式 public inte ce ireview public class shopreview ireview 這種方式是隱示實現 ire...