什麼是抽象類別?
- 抽象類別作為基底類,不能直接實例化。它用於創建類別的通用形式,允許子類別提供某些方法的特定實作。
- 抽象類別中的抽象方法已聲明,但在基底類別中沒有實作。需要子類別提供具體的實作。
什麼時候使用抽象類別?
- 當您想要確保某些功能必須由子類別實作時,請使用抽象類別。
- 一個常見的例子是一個抽象幾何形狀類,它提供了 area() 方法的簽名,但將定義如何計算面積的責任留給了子類,例如 Triangle 和 Rectangle。
使用 TwoDShape 範例實作:
請參閱抽象包中的範例
代碼說明:
TwoDShape 抽象類別:
- 定義為抽象,因為直接實現area()沒有意義。每個特定的幾何形狀(例如三角形或矩形)必須提供自己的計算面積的實現。
- area() 方法被宣告為抽象方法,強制子類別實作其版本的該方法。
三角形和矩形子類:
- 兩個子類別都繼承自TwoDShape,都需要實作area()方法。
- 三角形的面積計算公式為底*高/2。
- 矩形透過寬度 * 高度的公式計算面積。
AbsShape 類別:
- 透過抽象類別來示範多態性。 area() 方法被多態調用,並且根據物件類型(三角形或矩形)執行方法的正確版本。
以上是使用抽象類別的詳細內容。更多資訊請關注PHP中文網其他相關文章!