close

什麼是抽象函數?

只有函數的定義(即返回值類型、函數名、參數列表)沒有函數體的函數,就被稱之為抽象函數,也可稱為基類(意即基礎的類)

例如:abstract void fun();

 

什麼是抽象類?

使用abstract定義的類,就可稱之為抽象類。

例如:abstract class 類名{}

 

抽象類的語法特徵

1. 抽象類不能夠生成物件,因該物件有可能會調用到抽象函數,而其無函數體,所以無法執行。

2. 如果一個類當中包含有一個或一個以上的抽象函數的話,那麼這個類必須被聲明為抽象類

3. 如果一個類當中沒有抽象函數,那麼這個類也可以被聲明為抽象類

4. 如果子類繼承抽象父類後,無覆寫父類中的抽象函數者,而該子類也必須變成抽象類,不然就需去覆寫之。

 

抽象類的作用

抽象類就是用於當其它類的父類,以讓繼承之子類來覆寫抽象函數與實現之。

 

抽象類可以有建構函數嗎?

條件:

1. 抽象類不能生成物件。

2. 建構函數用於生成類的物件。

 

結論:

抽象類是有建構函數的,因如子類去繼承並覆寫抽象函數後,其於生成子類物件時,還是會利用super去調用父類的建構函數。

 

抽象類與函數之範例

23_範例_Person.png 23_範例_Chinese.png 23_範例_Main.png 23_範例_Main結果.png  

 

 

arrow
arrow

    Elsa 發表在 痞客邦 留言(0) 人氣()