抽象類與介面的區別

2022-02-07 03:46:32 字數 606 閱讀 3219

目錄

在進行深入了解時,先做一道題吧,檢測一下自己的基本功如何

class a

public virtual void printfields()

}class b : a

public override void printfields()

,y=", x, y);}}

static void main(string args)

這樣輸出結果是什麼呢?點選viewcode檢視答案

view code

x=1,y=0

x=1,y=-1

為什麼呢?

b b = new b()時,先執行a的建構函式,輸出結果時,還沒有執行b的建構函式,此時y=0

b.printfields(); 這個時候已經執行過b的建構函式,此時y=-1

抽象類與介面的對比已經有很多人寫了,我就不詳細介紹了,只對我目前的了解程式做乙個總結

抽象類是一類事物的抽象,比如,寶馬、賓士、奧迪都是車(抽象類)。

介面定義一種行為:比如上面的三類車都會跑(介面),跑是每個車的行為,但是跑的具體方法有所不同。

這兩篇文章足以能說明抽象類與介面的區別了。

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

抽象類與介面的區別

c 中可以多繼承介面,卻只能繼承自乙個抽象類 抽象類中的方法可以包含一些實現,但介面卻只能定義方法的一種規範,不能包含實現 繼承類必須實現藉口中所有的方法,而不一定要實現抽象類中的所有方法 抽象類可以繼承自抽象類 但介面不能繼承自介面 派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員 ...

抽象類與介面的區別

c 中可以多繼承介面,卻只能繼承自乙個抽象類 抽象類中的方法可以包含一些實現,但介面卻只能定義方法的一種規範,不能包含實現 繼承類必須實現藉口中所有的方法,而不一定要實現抽象類中的所有方法 抽象類可以繼承自抽象類 但介面不能繼承自介面 派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員 ...