Java物件導向程式設計 抽象類與介面的使用及區別

2021-09-12 17:32:24 字數 1126 閱讀 2958

1.抽象類的定義與使用

1.1 抽象類的定義:

抽象類只是在普通類的基礎上擴充了一些抽樣方法而已,所謂的抽象方法指的是只宣告而未實現的方法(即沒有方法體)。所有抽象方法要求使用abstract關鍵字來定義,並且抽象方法所在的課也一定要用abstract關鍵字來定義,表示抽象類。

eg:定義乙個抽象類

abstract class person

public void setname(string name)

//抽樣方法

//{}為方法體,所有的抽象方法不包括方法體

public abstract void getpersoninfo();

}

觀察**發現,抽象類就是比普通類多了一些抽象方法而已。

抽象類中包含抽象方法,而抽象方法不包含方法體,即沒有具體實現。因此,抽象類不能直接產生例項化物件。

1.2抽象類的使用原則:

2.介面的定義與使用

抽象類與普通類相比,最大的特點是約定了子類的實現要求,但是抽象類存在單繼承侷限。如果要約定子類的實現要求並避免單繼承侷限就需要使用介面。

2.1 介面的基本概念eg:乙個簡單地介面實現:

//為了區分介面,建議在所有的介面前面追加字母i

inte***ce imessage

使用介面可以實現多繼承的概念:對於介面的子類(不是抽象類)必須覆寫介面中的全部抽象方法。隨後可以利用子類的向上轉型通過例項化子類來得到介面的例項化物件。

2.2 介面的使用限制

2.3介面的應用

介面在實際開發中有三大核心應用環境:

① 定義操作標準

②表示能力

③在分布式開發之中暴露遠端服務方法

3.抽象類與介面的區別

java 物件導向程式設計 抽象類

我們在上一章中介紹了什麼是介面,也說到了介面就是一組抽象的資料模型,可以理解為一組協議。但實際上,在物件導向的概念中,有乙個知識點是極容易被人與介面混淆的,人們往往會誤解為這兩者是同乙個概念。但不幸的是,兩者雖然有相似之處,但卻是完全不一樣的概念。那麼,如此神秘的它到底是什麼呢?讓我們揭開它的蓋頭來...

java物件導向(抽象類)

抽象類 當多個類中出現相同功能,但是功能主體不同。這是可以進行向上抽取,這時,只抽取功能定義,而不抽取功能主體。抽象 就是模糊的意思.抽象類的特點 1,抽象方法一定在抽象類中。2,抽象方法和抽象類都必須被abstract關鍵字修飾。3,抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4,抽象類...

抽象介面 php,PHP物件導向之抽象類與介面

定義抽象類使用abstract關鍵字,主要用於定義規範,其函式必須被繼承的子類全部過載後才能例項化,過載不全會報錯 abstract class abclass abstract function a1 abstract function a2 class absonclass extends ab...