回覆列表
-
1 # 高階Bug調查員
相關內容
- 為什麼C++ 中,基類指標可以指向派生類物件?
- 急求c++程式:宣告一個基類baseclass,有整形成員變數number,構造其派生類derivedclass?
- 虛解構函式與非虛解構函式哪裡不一樣?
- 在c++中為什麼基類指標可以呼叫派生類中被重定義的私有虛擬函式?
- 在java中,父類定義的靜態方法,子類,呼叫時候,如何,知道,是哪個子類呼叫的?
- 在挫折中成長作文600字需要大白話就行?
- 我必須為派生類獨立的定義一個建構函式是嗎,也就是說,建構函式不會被繼承?
- 請解釋一下,央行負債表最好用大白話,謝謝?
- 宣告一個基類Shape,在此基礎上派生出Rectangle和Circle,二者都有GetArea()函式計算物件的面積?
首先,超類、父類、基類都指的是一個東西。而子類和派生類也指代一個東西。
在Java中,super class 代表父類、超類、基類。因為super關鍵字的原因,所以有些人願意叫它超類,super有“超級”的意思。那“父類”是從它的繼承關係來說的,在Java中父類和子類是一對相對的概念。
我們知道Java中一切皆是物件,所以如果把一個類比作爸爸的話,那麼從它裡面引申出來的類就是子類。比如:
我定義了一個類:Animal (動物),如果只有這一個類的話,我們就不能叫他父類或者子類或者派生類,這些都不存在。
但是過了一會,我又定義了一個類:Dog(狗),然後透過關鍵字extends 使得Dog 繼承了Animal的一些行為,比如eat(吃)、run(跑),那麼Dog就自然而然的有了這兩個行為,而不需要再Dog類中再重新寫一遍這兩個方法。
這樣,我們就說Dog是子類,是派生類,而Animal是超類、是父類、是基類(因為Dog是在Animal基礎之上派生出來的類)
繼承的目的主要是為了重複利用一些共性的程式碼,例如上面說的eat和run,他們在Animal中定義了之後,所有的子類都可以重複利用,而不需要再重寫。