抽象類和接口的區別比較

  在面向對象的概念中,抽象類和接口都是一種特殊的類,它們具備一些共性,也有一些區別。編程

  兩者的相同點:對象

      都屬於引用類型的數據,是一種特殊的類;繼承

      都不能實例化;接口

      均可以包含未實現的方法聲明和屬性聲明;可視化

      二者的派生類都必須實現它們的聲明,派生類實現抽象類的抽象屬性和抽象方法,而接口則要實現它的全部成員引用

  兩者的不一樣點:方法

      抽象類是由類似對象抽象而成的類,而接口是一個行爲的規定或規範;技術

      一個類能夠實現多個接口,但只能從一個基類(單繼承的狀況下)中派生;數據

      抽象類即包含了可變部分不可變部分,可是接口只定義了可變的部分;版本

     

   總的來講,抽象類是對根源的抽象,接口是對動做的抽象;抽象類表示這個對象是什麼,接口表示這個對象能作什麼;當關注一個事物的本質時,如要建立組件的多個版本,用抽象類,當關注功能操做的時候,如建立的功能要在全部對象中使用,則能夠用接口。

 

 

 

參考: 《C#可視化編程技術》

相關文章
相關標籤/搜索