オブジェクト指向アプローチ論 第10回 |
このページは,2007年前期まで実施されていた科目の補助教材ページです。既に履修し終わった方々 の参考のために公開を継続しています。したがって,内容が古いままのものが残っておりますので注意 して下さい。 ※2007年度より実施されている2年生選択科目「オブジェクト指向プログラミングa」のページはここ ではありません。「オブジェクト指向プログラミングa」のページはこちらです。 |
●クラスの継承 (後編)「Javaを学ぶ 第12回 (2003年4月 )」
【finalメソッド】
●final指定されたメソッドは,サブクラスでオーバライドできなくなる。
List 1, List 2, List 3
【finalクラス】
●final指定されて定義されたクラスは,そのサブクラスを作ることが出来なくなる。
→プリント本文参照
【オーバライドとアクセス特性】
●メンバのアクセス指定
publicメンバ | protectedメンバ | 指定無しメンバ | privateメンバ | |
同一クラス内から | ○ | ○ | ○ | ○ |
同一パッケージ内のクラスから | ○ | ○ | ○ | × |
別のパッケージ内のサブクラスから | ○ | ○ | × | × |
別のパッケージ内のクラスから | ○ | × | × | × |
【インタフェイス部と実装部の継承】
List 4
【抽象度の高いクラスの問題】〜抽象クラスと抽象メソッド
・抽象度の高いクラスでは,具体的な振る舞いが定義できず,それが問題を引き起こすことがある(List-2の交通シミュレーション参照)。
→そのためJavaでは,そのような抽象度の高いクラスは,実装部(具体的な振る舞いの定義)の無いメソッド(抽象メソッド)を定義して,
抽象メソッドを持つクラスを抽象クラスとして指定し,そのクラスのオブジェクトの生成を禁止することで問題が起こるのを回避して
いる
List 5
List 6