継承
p408
ほとんど同じだけどフィールドが2つ多いとかメソッドが1こ多いとか
このプログラムでは勇者HeroがSuperHeroに進化できる
SuperHeroはHeroができることはみんなできる。プラス特別なことが出来る
教科書p410
これをコピペでつくると後々全部直さないといけない!重複でまくり!
メンテ大変!
→
継承
extends
SuperHeroの部分には付け足す部分だけ記述したらいい
以下を入力---
p408
p412
p413 > Main413でつくる
matangoは前からコピー
親の方を「親クラス」「スーパークラス」と呼ぶ
子供の方は「子クラス」「サブクラス」といったりする
---
多重継承はできない
親はひとり
ふたりがむり
子供は何人でもよろしい
孫もよろしい
メソッドの再定義(上書き)
オーバーライドという
(オーバーロード(多重定義)(引数の数とか型で判断する同じメソッド名がたくさんある)とは全然違う)
親のHeroでrunメソッドを持っているが、「逃げ出した」という表示はスーパーヒーローにふさわしくない
→子供のsuperHeroでもう一度runメソッドを定義して「撤退した」にしてやる
つまり子クラスの方で、
新しくメソッドをつくったらそれはそのまま追加
親にあるのと同じ名前でメソッドを作ったら上書き
p418
Stringクラスは継承できない
public final class String extend Object...
宣言時にfinalがついていると変更や継承ができない