オブジェクト指向プログラミングa 第9回その2


●クラスの継承 (中編)「Javaを学ぶ 第11回 (2003年3月 )」

【前回の復習】

●継承とは
List 1



●メソッドオーバライドを使う
List 2


●ワープロソフトでの継承例
List 3, List 4, List 5, List 6



【スーパークラスメンバの参照】
・スーパークラスのメンバ名とサブクラスのメンバ名が同じになってしまう場合は,サブクラスのメンバの方が使われる。
 ただし,
  super.メンバ名
 という形で,スーパークラスのメンバを利用することができる。
List 7



【継承とコンストラクタ】
・サブクラスのオブジェクトのコンストラクタを呼ぶと,まずはスーパークラスのコンストラクタ
 が自動で呼ばれて,スーパークラスから継承されている部分が初期化され,その後,サブクラス
 のコンストラクタが動き出して,サブクラス独自のメンバを初期化していく。
・スーパークラスに複数のコンストラクタがある場合は,自分で特定のコンストラクタを,
  super(実引数);
 という形で呼び出せる。その場合,必ずコンストラクタの一番最初でスーパークラスのコンスト
 ラクタを呼び出さなければならない。
List 8, List 9



【多段階の継承】
・継承は多段階で行うことが出来る。
List 10



【すべてのスーパークラスObject】
【キャスト演算子による型変換】
・スーパークラスが指定されていないクラスは,すべてObjectというJavaにもともと備わっている特別なクラスの
 サブクラスとなる。
List 11



【protectedアクセス特性】
・protectedというアクセス指定を受けたメンバは,
  (1)そのクラスの中から
  (2)同一パッケージの中から
  (3)そのクラスのサブクラスの中から
 しかアクセスできない。(アクセス指定をしない場合に(3)が加わった形)
List 12, List 13