熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Visual C#覆蓋虛接口

2013-11-13 10:08:34  來源: .NET編程 

  有時候我們需要表達一種抽象的東西它是一些東西的概括但我們又不能真正的看到它成為一個實體在我們眼前出現為此面向對象的編程語言便有了抽象類的概念C#作為一個面向對象的語言必然也會引入抽象類這一概念接口和抽象類使您可以創建組件交互的定義通過接口可以指定組件必須實現的方法但不實際指定如何實現方法抽象類使您可以創建行為的定義同時提供用於繼承類的一些公共實現對於在組件中實現多態行為接口和抽象類都是很有用的工具

   

  一個抽象類必須為類的基本類列表中列出的接口的所有成員提供實現程序但是一個抽象類被允許把接口方法映射到抽象方法中例如

   

  interface IMethods {

  void F();

  void G();

  }

  abstract class C: IMethods

  {

  public abstract void F();

  public abstract void G();

  }

   

  這裡 IMethods 的實現函數把F和G映射到抽象方法中它們必須在從C派生的非抽象類中被覆蓋

   

  注意顯式接口成員實現函數不能是抽象的但是顯式接口成員實現函數當然可以調用抽象方法例如

   

  interface IMethods

  {

  void F();

  void G();

  }

  abstract class C: IMethods

  {

  void IMethodsF() { FF(); }

  void IMethodsG() { GG(); }

  protected abstract void FF();

  protected abstract void GG();

  }

   

  這裡從C派生的非抽象類要覆蓋FF 和 GG 因此提供了IMethods的實際實現程序


From:http://tw.wingwit.com/Article/program/net/201311/12686.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.