繼承是物件導向程式設計(OOP)中的一個核心概念,所謂的繼承,就是指一個類別(稱為子類別)可以獲得其父類別所擁有的屬性和行為。透過繼承,我們可以利用已經存在的程式碼,避免不必要的重複,從而提高開發效率和程式碼的可維護性。
概念上像是表達A「是某種」類別,所以A可以獲得該類別的某些屬性和行為,例如:麻雀(子類別)是一種鳥類(父類別),鳥類會飛,因此麻雀能繼承飛這個行為。
繼承的語法:
class 子類別名稱 extends 父類別名稱
{
//methods and fields
}
範例: Programmer是員工,員工的基本底薪都是27470,餐費津貼固定為3000。Programmer有其他的津貼,因此Programmer領到的薪水會是基本底薪+餐費津貼+其他津貼。
// /company/Employee.java
package company;
public class Employee {
public int baseSalary = 27470;
public int mealAllowance = 3000;
}
// /company/Programmer.java
package company;
public class Programmer extends Employee {
public int otherAllowance = 10000;
}
// Main.java
import company.Programmer;
public class Main {
public static void main(String[] args) {
Programmer p = new Programmer();
System.out.println("Programmer complete salary is:" + (p.baseSalary + p.mealAllowance + p.otherAllowance));
}
}
// output: Programmer salary is:40470