国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

[C#]中abstract類和interface概念和區別講_解

2019-11-02 15:18:08
字體:
來源:轉載
供稿:網友

   abstract(抽象)類和interface(接口)是面向對象編程中兩個概念,但是學了很多年編程的程序員有時對這兩個概念的區分仍然不是很清楚。下面就講解abstract類和interface的概念和區別。

  abstract(抽象)類

  抽象方法只作聲明,而不包含實現,可以看成是沒有實現體的虛方法。

  抽象類不能被實例化。

  抽象類可以但不是必須有抽象屬性和抽象方法,但是一旦有了抽象方法,就一定要把這個類聲明為抽象類。

  具體派生類必須覆蓋基類的抽象方法。

  抽象派生類可以覆蓋基類的抽象方法,也可以不覆蓋。如果不覆蓋,則其具體派生類必須覆蓋它們。

  下面的代碼講解了abstract(抽象)類的使用方法。

  using System;

  public abstract class A //抽象類A

  {

  private int num = 0;

  public int Num //抽象類包含屬性

  {

  get

  {

  return num;

  }

  set

  {

  num = value;

  }

  }

  public virtual int getNum() //抽象類包含虛方法

  {

  return num;

  }

  public void setNum(int n) // //抽象類包含普通方法

  {

  this.num = n;

  }

  public abstract void E(); //類A中的抽象方法E

  }

  public abstract class B : A //由于類B繼承了類A中的抽象方法E,所以類B也變成了抽象類

  {

  }

  public class C : B

  {

  public override void E() //重寫從類A繼承的抽象方法。如果類B自己還定義了抽象方法,也必須重寫

  {

  //throw new Exception("The method or operation is not implemented.");

  }

  }

  public class Test

  {

  static void Main()

  {

  C c = new C();

  c.E();

  }

  }

  interface(接口)

  接口不能被實例化。

  接口只能包含方法聲明。

  接口的成員包括方法、屬性、索引器、事件。

  接口中的所有成員默認為public,因此接口中不能有private修飾符。

  派生類必須實現接口的所有成員。

  一個類可以直接實現多個接口,接口之間用逗號隔開。

  一個接口可以有多個父接口,實現該接口的類必須實現所有父接口中的所有成員。

  接口中不能包含常量、字段(域)、構造函數、析構函數、靜態成員。

  下面的代碼講解了interface(接口)的使用方法。

  public delegate void EventHandler(ob ject sender, Event e);

  public interface ITest

  {

  //int x = 0;

  int A

  {

  get;

  set;

  }

  void

搞笑動態圖片笑死人[www.62-6.com/1/dttp/]
Test();

  event EventHandler Event;

  int this[int index]

  {

  get;

  set;

  }

  }

  抽象類和接口的相同點和區別

  相同點

  都可以被繼承

  都不能被實例化

  都可以包含方法聲明

  派生類必須實現未實現的方法

  區別

  抽象基類可以定義字段、屬性、方法實現。接口只能定義屬性、索引器、事件、和方法聲明,不能包含字段。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北宁市| 汉寿县| 陆丰市| 游戏| 蒙自县| 军事| 囊谦县| 黔西县| 南靖县| 盐津县| 青阳县| 犍为县| 新邵县| 小金县| 贺州市| 温州市| 怀仁县| 富裕县| 分宜县| 新昌县| 富裕县| 宜黄县| 车险| 玉溪市| 孟州市| 融水| 壶关县| 高碑店市| 会东县| 花莲市| 黄冈市| 龙里县| 永昌县| 砚山县| 墨玉县| 大足县| 福州市| 廉江市| 托克托县| 镇江市| 苗栗县|