iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

Java程式實作系列 第 17

Java語法-9

  • 分享至 

  • xImage
  •  
  1. 繼承(Inheritance)
    繼承是面向對象程式設計的一個基本特性,允許一個類別(子類)繼承另一個類別(父類)的屬性和方法。這樣可以重用程式碼,並促進類別之間的關聯。

#繼承的特性:
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.
}

}
說明:

  1. 父類 Animal:包含一個屬性 name和一個方法 sound()。
  2. 子類 Dog:繼承自 Animal,使用 super(name)來呼叫父類的建構子。
  3. 覆寫方法:在子類中,覆寫了 sound()方法,以提供特定的實作。
  4. 自定義行為:Dog類中新增了 fetch()方法。

補充說明:
·父類只能使用自己的屬性和方法:父類只能訪問自身定義的屬性和方法,無法直接訪問子類的成員。
·子類可以重寫父類的方法:子類可以覆寫父類的方法,但父類並無法直接調用子類的方法。
·多型:在多型的情況下,可以用父類型的參考變數指向子類的物件,但父類仍然只能訪問父類定義的成員。

#super 關鍵字:
super用於呼叫父類的建構子或方法。在子類中,如果需要使用父類的屬性初始化,必須使用 super()。

繼承結構使得程式碼更具結構性和可維護性,並且提高了代碼的重用性。![https://ithelp.ithome.com.tw/upload/images/20241002/201694891u6q7i9e8N.jpg](https://ithelp.ithome.com.tw/upload/images/20241002/201694891u6q7i9e8N.jpg)

上一篇
Java語法-8
下一篇
Java語法-10
系列文
Java程式實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言