物件導向 抽象類

2021-10-03 07:33:39 字數 783 閱讀 5910

抽象類概述

什麼是抽象類?什麼是抽象方法?

抽象方法:沒有方法體的方法就是抽象方法,必須用abstract關鍵字去修飾。

抽象類:擁有抽象方法的類,就是抽象類。

應用場景:

在不同的子類往上抽取方法時,方法的定義是一樣的,但是方法體不一樣,所以抽取到父類時就可以使用抽象方法。

簡單來說:

當多個子類擁有同乙個功能,但是這個功能的過程不一樣,那麼在父類中就把這個功能寫成抽象的。

案例:public abstract class person

class manager extends person

}class coder extends person

}疑問:

我幹嘛要抽取?不抽取,在子類中需要寫。抽取了,在子類還需要寫。

假設,此時沒有抽取。

class manager  

}class coder

}//如果沒有抽取到父類中,我們是沒有辦法強制子類一定要按照某種格式進行書寫的。

所以把方法抽取到父類中並把這個方法進行抽象

強制子類一定要按照某種規則進行重寫。//至少包含了,方法名,引數列表,返回值類。

這樣來講也會降低我們的學習成本。

2.抽象類的特點

1.抽象類不能建立物件。

2.子類繼承乙個抽象類,那麼需要重寫裡面"所有"的抽象方法。

3,抽象類的成員特點

抽象類中可以什麼都有,可以什麼都沒有。

抽象類中的構造有什麼作用?

建立子類物件時,進行初始化的。

物件導向 抽象類

抽象 裡邊有未明確的東西。抽象類的特點 1 抽象方法一定在抽象類中。2 抽象方法和抽象類都必須被abstract關鍵字修飾。3 抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4 抽象類中的抽象方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫。如果子類只覆蓋部分抽象方法,那麼該...

物件導向 抽象類

帶引數的抽象類以及抽象方法 編寫構造方法以及預設的構造方法,備註 未自行編寫構造方法時具有預設的構造方法 一旦自行編寫了構造方法,預設不寫的構造方法,必須編寫 package 測試類 public class cs 具有三個引數的構造方法 public cs string name,int zhi,...

物件導向 抽象類

有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。比如乙個圖形類應該有乙個求周長的方法,但是不同的圖形求周長的演算法不一樣。那該怎麼辦呢?分析事物時,發現了共性內容,就出現向上抽取。會有這樣一種特殊情況,就是方法功能宣告相同,但方法功能主體不同。那麼這時也可以...