Java物件導向概念

閱讀時間約 1 分鐘

物件導向的概念不外乎-> 封裝、繼承、多型、抽象、介面

封裝:在初始化一個class時,將內容物用private的方式包起來,而另外提供接口去給外界使用,可達到保護其資料隱私。

private: 只有自己類別的成員能夠存取

public: 任何人都可以調用

protected: 其父類與子類可使用,其他不可使用。

繼承:假設創建一個父類別Animal,所有跟動物有關的類別都屬於Animal,所以皆可以繼承Animal,繼承之後的動物都會繼承其屬性跟方法,ex: 屬性 -> 重量、身高,方法 -> 吃、喝、睡。

繼承的方法:class 子類別 extends 父類別{

}

多型:雖然子類別繼承父類別,不過子類別可以更改其中相同的函數執行不同的內容。

raw-image

抽象(abstract) :修飾類別及方法的關鍵字。要注意的是當類別是屬於抽象化的話,那就不能被物件化,。如以下錯誤的例子:

raw-image

存在的目的是專門用來被繼承而已。

而抽象的方法 (abstract void eat())則只能寫方法名稱,無法寫內容,只能由子類別去進行override。

介面(interface): 目的是為了描述不同類別的共同行為。

像是冰箱與烤箱皆為電氣設備,但卻不能彼此繼承,加上JAVA不能多重繼承,所以採用implements的方式執行,如下:

raw-image

宣告介面的方法:必須由類別自己去定義介面提供的方法。雖然不能多重繼承,但可以多重implements。

raw-image

參考資料:https://yubin551.gitbook.io/java-note/object_oriented_programming/interface

    dab戴伯
    dab戴伯
    留言0
    查看全部
    發表第一個留言支持創作者!