👌

Java オブジェクト指向について、他

2024/12/10に公開

Java

オブジェクト指向

  • "オブジェクト"はクラスで構成される。
  • "インスタンス"="オブジェクト"
  • "修飾子"について
    → 別のファイルから使いたい場合は「public」、
     → あるクラス内だけで使う場合は「private」。
  • クラス名は先頭を大文字にするのが慣例。
  • クラス名は変数名などと同様に、"キャメルケース"(単語の頭文字だけ大文字にする記法)が推奨される。
  • "クラスからオブジェクトを作る"="インスタンス化"。

フィールド

  • "フィールド"とは、オブジェクトが持つ内部データ(変数)のこと。
  • finalを付けると定数になる。

クラス

  • そのクラス内であれば、そのままフィールド名を書くだけで参照できる。
  • thisはつける癖をつけておく。

修飾子について

修飾子 意味
public どのクラスからもアクセスできる。
private クラス内部からのみ。カプセル化で使用する。親クラスにもアクセスできない。
protected 親クラスにはアクセスできる。

メソッド

  • "メソッド"は、クラス定義の後半にまとめて定義する。
  • 変数の初期化はJavaの仕様上では初期化は必須ではないが、変数は必ず初期値を設定して初期化した方がよい。
    なぜならば、例えばデーターベースアクセスとの連携などで意図しない変数が入って意図しないエラー発生を防ぐため。

コンストラクタ

  • "コンストラクタ"とは、インスタンス化するときに初期化処理を行うメソッドのこと。
  • 戻り値の型がない。
  • クラス名がメソッド名になる。"クラス名"="メソッド名"。
  • インスタンス生成時以外にコンストラクタは呼び出せない。
    そのため引数を変更する場合は、
     →もう一度インスタンス生成させる。
     →メンバーにアクセスして再代入する。
    というやり方になる。
  • インスタンスの削除は、JVMのガーベジコレクタが削除などの管理を行っているため不要。

import

  • パッケージ外からクラスを使いたいなら、"import"(インポート)して使う。
  • Eclipseには、"自動でimport文を追加してくれる機能"がある。

バックエンドテストについてのメモ

  • プログラムがエラー発生した際に、データーベースの書き込みが中途半端にならないようにする。具体的には、エラー時のエラーハンドリングで実現可能。
  • 年月日などを書き込むときに年/月/日のように”/”などの区切り文字がきちんと入っているかどうか。入力形式が指定した形式であるかどうか。
  • Javaでは単体テスト用に”JUnit”という単体テスト用フレームワークがある。
  • ”JUnit”使うところが最近増えている。
  • ”TestNG”というフレームワークもある。
  • ”JUnit”を拡張したDBテスト用の”DBUnit”というのもある。
  • 負荷テストに”JMeter”というのがある。メソッドとスレッド数とループ数を設定して使用する。
    *”FindBugs”:バグ発見テスト用

Javaについてのメモ

  • Cなどのプログラムと違って、JVMで動作する。
  • Cなどのプログラムと違って、"このプログラムにこのプロセスID"というのがない。基本はクラス単位。

UMLについてのメモ

UML 内容
ユースケース図 動作イメージの説明でよく使用される。
シーケンス図 実装方法まで指定がある場合によく使用される。
クラス図 設計書で既に書かれている場合が多い。
  • UMLツール
UMLツール
EXCEL
drow.io(WEB上でできる。ファイルの保存もできる)
UMLet(Eclipsプラグインもある)
  • ”UMLモデリング技能検定試験”というものがあり、L2レベルまでできた方が実用的で良い。
  • プロジェクトでファイル形式やツールは指定されていることが多い。

Discussion