idea 呼叫c 介面 C 介面的三種實現方式

2021-10-13 06:27:40 字數 1295 閱讀 4970

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...