iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
Software Development

Java基礎筆記系列 第 15

Java的多型Polymorphism

  • 分享至 

  • xImage
  •  

Java的多型,指的是能夠讓不同的類別共享相同的介面,讓程式碼容易擴充且容易維護。
多型是基於「繼承」、「介面」來實現。

繼承實現多型

子類別透過「繼承」父類別的方式,能夠使用父類別的所有方法,同時也能override覆寫父類別方法,達到了使用相同方法,卻能對應到不同實作的多型情境。

class Animal{
    public void sound(){
        System.out.println("Some sound");
    }
}
class Dog extends Animal{
    @Override
    public void sound(){
        System.out.println("Woof!")
    }
}

介面實現多型

不同的類別可以透過使用同一個介面,這樣無論是哪一個類別,都能實線使用相同介面方法。
介面五大功能:

  • 多重繼承:透過介面實現多重繼承。class 子類別 imlements 介面1,介面2,....
  • 定義規格:介面是一種類別,其所有方法都是抽象方法,不能new物件、不能有建構子,
    因此子類別必須實作介面抽象方法。
  • 貼標籤:沒有定義任何方法的介面,例如Cloneable(物件複製)、Serializable(物件序列化)
  • 型別轉換:有助於實現多型性,其中一個對象可被當作多種不同的型別使用。
  • 降低相依性:使用介面的定義而非具體的實作,可使程式碼共靈活彈性擴展。
interface Shape{
    void draw();
}
class Circle implements Shape{
    @Override
    public void draw(){
        System.out.println("Drawing a circle");
    }
}

上一篇
Java的繼承 Inheritance(父類別vs.子類別)
下一篇
Java的Override與Overload
系列文
Java基礎筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言