本章節目標:
了解繼承在java中有什么作用,以及在代碼上如何實現繼承。
繼承是面向對象三大特征之一,封裝居首位,封裝之后形成了獨立體,獨立體A和獨立體B之間可能存在繼承關系。其實程序中的繼承靈感來自于現實生活,在現實生活中繼承處處可見,例如,兒子繼承了父親的財產,兒子不需要努力就很有錢。
圖12-1:現實世界中的繼承
繼承時子類繼承父類的特征和行為,使得子類對象(實例)具有父類的屬性,或子類從父類繼承方法,使得子類具有與父類相同的行為。兔子和羊屬于食草動物類,獅子和豹屬于食肉動物類。食草動物和食肉動物又是屬于動物類。所以繼承需要符合的關系是:is-a(Bird is-a Animal),父類更通用,子類更具體。雖然食草動物和食肉動物都是屬于動物,但是兩者的屬性和行為上有差別,所以子類會具有父類的一般特性也會具有自身的特性。
為什么要使用繼承機制?在不同的類中也可能會有共同的特征和動作,可以把這些共同的特征和動作放在一個類中,讓其它類共享。因此可以定義一個通用類,然后將其擴展為其它多個特定類,這些特定類繼承通用類中的特征和動作。繼承是 Java 中實現軟件重用的重要手段,避免重復,易于維護。