--- tags: Java, inheritance, extends --- # Inheritance: https://github.com/hryjosn/java_class_tutorial ## :memo: 繼承 (Inheritance) 繼承可說是類別的精華,利於程式碼重複被使用。 繼承:可保有原先的程式碼,並加以擴增;再利用的程式碼可以重複使用。 ![](https://i.imgur.com/x3io4Q1.png) ![](https://i.imgur.com/xFsbFoY.png) ![](https://i.imgur.com/7HjKPc5.png) 1.如果省略的super(T) 敘述,則父類別中没有引數的建構元還是會被呼叫,可自行試試。 2.呼叫父類別建構元的 super 必須寫在子類別建構元裡的第一個叙述,不能置於它處,否則編譯時將出現錯誤訊息。 3.super 可以多載,也就是說,super 會根據引數的數量及型態,執行相對應之父類别的建構元。 4. private 成員部分: 必須透過父類別中的setRadius( ) , show( ) 函數才能在子類別存取到。 參見class_ex5.java 比較this() super(), this()在同一類別內呼叫他的建構元, super()則是從子類別的建構元呼叫其父類別的建構元 --- > 注意:一個 Java 檔只能一個 public 類別喔,且必須跟檔名相同 !! --- ##### Exercise: 使用繼承及建構元 1. 定義三種角色職業 1. 弓箭手 (HP:15, Att:30, MP:10) 2. 狂戰士 (HP:20, Att:15, MP:5) 3. 魔法師 (HP:10, Att:40, MP:30) 2. 每個角色都要能夠 1. 攻擊 2. 詠唱(喊出自己的技能名稱) 3. 穿戴至少一項武器