カンニングシート6:オブジェクト指向の考え方

Pocket

・オーバーライド

・final修飾子がついたメソッドは変更不可のため、オーバーライドできない。

・オーバーライドするメソッドのアクセス修飾子に注意。継承元より、厳しくできない。

・オーバーライドされるのはメソッドのみ。変数はオーバーライドされない。インスタンス変数はインスタンス毎に管理される。

 例)Aを継承するBをインスタンス化した場合、各A、Bの中で管理。

・staticメソッドにオーバーライドという概念はない。クラス名+メソッド名で識別されるので、クラスで区別される。

・コンストラクタ

・引数有りコンストラクタを記述した場合、明示的にデフォルトコンストラクタの記述が必要

・finalizer

・GCから呼び出し。任意のクラスからの呼び出しも可能。

・クラス間の関係

・is-a(汎化)

・二つのクラス間で親子(スーパークラスis a サブクラス)関係が成り立つ関係。

・has-a(集約)

・クラス内に他クラスを所有(Aクラス has a Bクラス)する関係。

・InstanceOf

・クラス間の関係を判定する。

・String型インスタンス InstanceOf Objectはtrue(String is a Object)

・String型インスタンス InstanceOb Integerはコンパイルエラー(継承関係のないInstanceOfは記述できない。)

・カプセル化

・データをクラス内部において、データの読み書きを行う操作と一体化すること。

・外部からのアクセス制限。公開メソッドで操作。seter、geter。

・データや内部で利用する操作を非公開にすることを情報の隠蔽という。

・粗結合と高い凝縮度

・オブジェクト指向の目的は再利用。

・クラス間の結合度を弱くする。(粗結合)

・クラスは目的を絞り、専門性を持たす。(高い凝縮度)

・ポリモーフィズム

・継承の上になりたつ。オーバーライド等、同じ名前で異なる操作が可能。

 この振る舞いが多態性。

・インターフェイス

・メソッドは暗黙的にpublic abstract

・変数は暗黙的にpublic static final

 

徹底攻略Oracle認定JavaプログラマSE 5/6教科書 (ITプロ/ITエンジニアのための徹底攻略)
徹底攻略Oracle認定JavaプログラマSE 5/6教科書 (ITプロ/ITエンジニアのための徹底攻略)

徹底攻略Oracle認定JavaプログラマSE 6問題集 [CX-310-065]対応 (ITプロ/ITエンジニアのための徹底攻略)
徹底攻略Oracle認定JavaプログラマSE 6問題集 [CX-310-065]対応 (ITプロ/ITエンジニアのための徹底攻略)

タイトルとURLをコピーしました