介面和抽象類別的區別

來源:互聯網
上載者:User

標籤:style   blog   color   使用   strong   ar   div   log   sp   

抽象類別與介面很相似,但是思路不一樣。介面是公開類的成員,而抽象類別則是抽象類別成員以要求子類繼承並實現。

抽象類別:抽象類別是對共性的抽象

  1.   和普通的類不同,抽象類別需要用abstract來修飾類。
  2.   如果一個類中含有抽象方法,那麼這個類必須抽象處理(聲明為抽象類別,不需要實現)。
  3.   繼承抽象類別的子類必須重寫父類的抽象方法。
  4.   抽象類別不能被執行個體化。
  5.   使用抽象類別可以實現多態。
  6.       可以包含抽象方法和非抽象方法。
  7.       成員可以使用static、abstract、override、virtual修飾符。

  定義抽象類別,抽象方法:

abstract  class CashSuper{   public abstract double acceptCash(double money);} 

  使用抽象類別抽象方法:            

class CashNormal : CashSuper{  public override double acceptCash(double money)   {     return money;   }}

介面:介面是對行為的抽象

  1.   實現介面的任何非抽象類別型都必須實現介面的所有成員。
  2.   介面不能被執行個體化。
  3.   介面可以包含事件、索引器、方法和屬性。
  4.   類和結構可繼承多個介面。
  5.   介面自身可從多個介面繼承。
  6.   方法只能是抽象方法。
  7.   所有成員都是public static final的,不能使用static、abstract、override、virtual修飾符。

樣本:  

interface MyInterface     {               string ID        {            set;            get;        }        string Name         {            set;            get;        }        void ShowInfo();    }

 

介面和抽象類別的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.