#繼承的特性:
1.屬性和方法的繼承:子類可以使用父類的公有和受保護的屬性和方法。
2. 多型:子類的物件可以被視為父類的物件。
3. super 關鍵字:用於訪問父類的屬性和方法,特別是在子類中覆寫父類方法時。
Java 實作範例:
// 定義一個父類 Animal
class Animal {
// 屬性
String name;
// 初始化物件屬性
Animal(String name) {
this.name = name;
}
// 方法:發聲
void sound() {
System.out.println(name + " makes a sound.");
}
}
// 定義一個子類 Dog 繼承自 Animal
class Dog extends Animal {
// 建構子
Dog(String name) {
super(name); // 呼叫父類的建構子
}
// 方法:覆寫父類的發聲方法
@Override
void sound() {
System.out.println(name + " says Woof!");
}
// 方法:自定義的行為
void fetch() {
System.out.println(name + " is fetching the ball.");
}
}
// 主類別
public class Main {
public static void main(String[] args) {
// 創建 Dog 物件
Dog myDog = new Dog("Buddy");
// 呼叫方法
myDog.sound(); // 輸出:Buddy says Woof!
myDog.fetch(); // 輸出:Buddy is fetching the ball.
}
}
說明:
補充說明:
·父類只能使用自己的屬性和方法:父類只能訪問自身定義的屬性和方法,無法直接訪問子類的成員。
·子類可以重寫父類的方法:子類可以覆寫父類的方法,但父類並無法直接調用子類的方法。
·多型:在多型的情況下,可以用父類型的參考變數指向子類的物件,但父類仍然只能訪問父類定義的成員。
#super 關鍵字:
super用於呼叫父類的建構子或方法。在子類中,如果需要使用父類的屬性初始化,必須使用 super()。
繼承結構使得程式碼更具結構性和可維護性,並且提高了代碼的重用性。![https://ithelp.ithome.com.tw/upload/images/20241002/201694891u6q7i9e8N.jpg](https://ithelp.ithome.com.tw/upload/images/20241002/201694891u6q7i9e8N.jpg)