Java bronze -オブジェクト指向の概念-

暗記

Sasaki 2023年09月21日 カード19 いいね0

ビューア設定

[Enter]でカードをめくります。キーボードショートカット

Java bronze -オブジェクト指向の概念-
  • カプセル化の概念
    カプセル化は影響範囲の特定に関わる設計原則。関係するデータをまとめ、さらにそのデータを使う処理をまとめる。
  • データ隠蔽
    フィールドを隠蔽し、他のクラスからのアクセスを拒否すること。例えば、エンティティクラスとそれを使用するクラスが別々になっている場合、データ隠蔽とは言えない。データと処理を同一クラスに記述することでデータ隠蔽が完成する。
  • 抽象化
    対象から注目すべき要素を抜き出すことで、複雑な問題を単純化する手法。オブジェクト指向では、抽象化してオブジェクトを扱うことをポリモーフィズムという。
  • ポリモーフィズム
    A a =new B();はAの型でBのインスタンスを扱うという意である。従って実際に動作するのは型ではなくBのインスタンスそのものである。
  • サブクラスのメソッドのオーバーロード
    サブクラスでメソッドをオーバーロードし、スーパークラス型のサブクラスのインスタンスを生成した場合、サブクラス独自のメソッドは無視される。(オーバーロードしたメソッドをメインメソッドで実行した時点でコンパイルエラーが発生)
  • 情報隠蔽
    抽象化の効果を維持するために必要な設計原則。モジュールの独自機能を使われるのを避けるため、公開・非公開に分け、非公開にすべきmのを隠蔽する。更に非公開にする部分はアクセス制御を行う。
  • 情報隠蔽の手段3つ
    Javaでは公開部分をインターフェースとして定義する。また、非公開部分への不適切なアクセス防止のためパッケージやアクセス修飾子を使用する。
  • インターフェースの特徴4つ
    ①実装を持たないメソッド宣言のリスト、②実装を持たないため、インスタンス化できない、③実装は、インタフェースを実現したクラスが提供する、④メソッドの宣言以外は定数のみ定義できる。
  • A has-a B関係
    AがB型のフィールドを持っている関係を示す。
  • is-a関係
    「サブクラス is-a スーパークラス」または「実装クラス is-a インタフェース」の関係
  • 抽象クラス
    抽象クラスに定義する実装を持たないメソッド宣言を抽象メソッドという。抽象メソッドの実装は、抽象クラスを継承したサブクラスが提供する。つまり、抽象クラスは継承を前提としたクラスといえる。
  • 具象クラス
    実行するためのクラス。すべてのメソッドが実装済みでなくてはいけません。
  • インタフェースの暗示修飾
    インタフェースに定義されるメソッドはすべて"public abstract"で修飾される抽象メソッド。フィールドには"public static final"が修飾されている。
  • パッケージ宣言
    パッケージ宣言はソースファイルの先頭行へ記述が必要。パッケージ宣言はそのクラスが所属するクラスを明確にするため、ワイルドカード表記の指定は不可。
  • インポート宣言
    インポート宣言はインポートしたいクラスの完全修飾クラス名の指定もしくはそのクラスが所属するパッケージ名とワイルドカード表記でインポート可能。パッケージ名だけの記述は不可。
  • オーバーロードされたメソッドの条件
    ①メソッド名が同じ、②引数の数、型、順番が違う
  • インタフェースの継承における特徴
    ①多重継承:Javaのクラスは単一継承しかできないが、インタフェースは多重継承可能(1つのクラスが複数のインタフェースを実装できる)、②インタフェースを継承するクラスはその継承メソッドの実装が必須。
  • 抽象クラスのルール
    ①1つ以上抽象メソッドの記述が必要。②抽象クラスはインスタンス化不可。③サブクラスで抽象メソッドの実装が必須。④抽象クラスは具象メソッドを持つことができる。
  • パッケージに関するルール
    ①クラスファイルの先頭行に記述。②パッケージ名とディレクトリ構造の一致。③別のパッケージに属するクラスやインタフェースを使用する場合のインポート。④パッケージ内のクラスやメンバーはデフォルトでpackage-privateのアクセス修飾子が付与される。⑤パッケージ名の命名規則:1.小文字で開始、2.ピリオドで区切る、3.一意でなければいけない、ドメイン名を含めることが多い
  • テストする
よく頑張りました
暗記スタート