1️⃣  多型(Polymorphism)

<aside> 📘

多型是物件導向程式設計的核心概念之一,允許同一方法在不同的物件上表現出不同的行為。透過方法覆寫(Override)與介面實作(Interface Implementation),多型實現了靈活性與可擴展性,廣泛應用於實際開發中,例如統一處理不同類型的物件或實現彈性架構。

</aside>

什麼是多型?

多型(Polymorphism)意指「多種形態」,讓同一方法在不同的物件上表現出不同的行為。它有助於程式的可擴展性與靈活性。

多型的應用場景

  1. 提升程式的靈活性與可維護性。
  2. 使用統一介面處理不同類型的物件。
  3. 提供更彈性的設計架構,適應需求變更。

重點與注意事項

示範題

請編寫一個父類別 Animal,其中有一個方法 makeSound。再建立兩個子類別 DogCat,覆寫父類別的方法以表現不同的聲音。

最後,創建一個方法接收 Animal 類型參數,並呼叫其 makeSound 方法,觀察多型的行為。

程式碼示範

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.makeSound(); // Output: Dog barks
        myCat.makeSound(); // Output: Cat meows
    }
}

class Animal {
    void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Dog barks");
    }
}

class Cat extends Animal {
    @Override
    void makeSound() {
        System.out.println("Cat meows");
    }
}