public inte***ce myinte***ce
/// 下面三個方法的簽名都是
/// .method public hidebysig newslot abstract virtual
/// public+virutal+abstract
void method1();
void method2();
void method3();
class myclass : myinte***ce
/// method1是non-overridable的實現,是sealed。簽名如下
/// .method public final hidebysig newslot virtual
/// 注意:public+final+virtual
public void method1()
/// method2是overridable的實現。簽名如下
/// .method public hidebysig newslot virtual
/// 注意:public+virtual
public virtual void method2()
/// method3是explicit的實現,是sealed。簽名如下
/// .method private final hidebysig newslot virtual
/// 注意:private+final+virual
void myinte***ce.method3()
class myderived : myclass
/// .method public hidebysig
/// hidden了myclass的method1,所以要加new,否則warning
public new void method1()
/// .method public hidebysig virtual
public override void method2()
/// .method private hidebysig
void method3()
總結:method2的實現是最常見的。
method1的實現變成了sealed,用在不想被override的地方。
method3的實現比較少見,一種情況是類例項不想對外暴露(private),但是在使用介面的地方又可以訪問;另一種是在繼承多個介面時,多個介面中相同的函式簽名。
myinte***ce myclass = newmyclass();
myclass.method3();//ok
C 介面的三種實現方式
原文c 介面的三種實現方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 4...
C 介面的三種實現方式
public inte ce myinte ce class myclass myinte ce method2是overridable的實現。簽名如下 method public hidebysig newslot virtual 注意 public virtual public virtual ...
idea 呼叫c 介面 C 中對於介面的實現方式
c 中對於介面的實現方式有隱式介面和顯式介面兩種 隱式地實現介面成員 建立乙個介面,ichinese,包含乙個成員 speak 我們建立乙個類speaker,實現介面chinese 隱藏式實現例子 public inte ce ichinese string speak public class s...