今天我們來介紹 Java 的物件繼承吧
以昨天的案例來說,我們創建一個名為人的物件屬性,並且透過此屬性建造了許多人,但今天我們想要把在額外把人做更多的分類後我們可以選擇繼承這個人原先的屬性,並且添加更多的內容進去
class Person {
private int year;
public Person(int year) {
this.year = year;
}
public string getYear() {
return year + "歲";
}
}
class Chinese extends Person {
private String faveriteFood;
public Chinese(int year, String faveriteFood) {
super(year);
this.faveriteFood = faveriteFood;
}
public String getFaveriteFood() {
return this.faveriteFood;
}
}
Chinese wang = new Chinese(26, 'rice');
wang.getYear() // 26歲
wang.getFaveriteFood() // rice
以上面的例子來說,我們需要透過 extends 關鍵字來宣告 Chinese 是繼承 Person 的屬性,並且在建構子裡面透過 super 方法將 Person 原先需要的內容傳回去,我們也可以在新物件屬性內添加自己需要的內容,讓除了原先的屬性以及方法外還可以使用自身的內容。
透過繼承,我們可以確保出來的新物件屬性都是有被約束的,使得開發不會太過散亂。