プレーン・オールド・Javaオブジェクト(POJO)

Javaにおけるデータ型と例外処理

Jim White

Java Developer

データ型と例外処理の概要

  • 第1章
    • プレーン(一般的な)Java オブジェクト
    • ラッパークラス
    • パッケージの利用
  • 第2章
    • コレクションフレームワーク
  • 第3章
    • 例外と例外処理

Java はデータや問題にどう対処するか?本コースのテーマです。

1 Photo by Mika Baumeister on Unsplash
Javaにおけるデータ型と例外処理

データ構造としての Java オブジェクト

  • Java オブジェクトはデータを保持・整理する
    • カスタムクラスから生成
  • データはフィールドに保存
    • アプリ内の「スーツケース」のように運ぶ
  • POJO と呼ぶ
    • Plain ordinary Java object
    • または Plain old Java object
  • シンプルな Java オブジェクトはデータを保持・受け渡し
    • いくつかの規則に従う
    • ロジックは持たない

Java オブジェクト(POJO)はアプリ内でデータを運ぶスーツケースのようなもの

1 Photo by Caroline Selfors on Unsplash
Javaにおけるデータ型と例外処理

Getter と Setter

  • Getter/Setter は public
    • フィールドは private
  • Getter/Setter は POJO のデータを保護
    • カプセル化を促進
  • フィールド実装の詳細を隠す
Javaにおけるデータ型と例外処理

POJO クラスのガイドライン

  • POJO クラスの必須事項:
    • public であること
    • すべてのフィールドに public な getter/setter
      • フィールドは private
    • デフォルト(引数なし)コンストラクタ

POJO クラスはこれらの規則に従う

1 Photo by Anastasiya Badun on Unsplash
Javaにおけるデータ型と例外処理

POJO のNG

  • POJO クラスの禁止事項:
    • フレームワークに依存しない
    • 他のクラスを継承しない
    • インターフェースを実装しない
      • 必要に応じて Serializable は例外
    • ビジネスロジックを含めない
  • これらは状況により緩和可
    • できるだけシンプルに

POJO クラスはこれらの特性を持たない

1 Photo by Anastasiya Badun on Unsplash
Javaにおけるデータ型と例外処理

Getter

  • Getter の命名
    • "get" で開始(boolean は "is")
    • フィールド名で終了
    • lower camel case
    • 例: get + make = getMake
  • 引数なし
  • フィールド値を返す
  • 実装詳細を隠蔽できる
    private String make;

    public String getMake() {
        return make;
    }
    private short on;

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Javaにおけるデータ型と例外処理

Setter

  • Setter の命名
    • "set" で開始、フィールド名で終了
    • lower camel case
    • 例: set + make = setMake
  • 引数は1つ(新しい値)
    • フィールドと引数の区別に this を使用
  • 戻り値は void(なし)
  • データの妥当性を検証可
    private String make;

    public void setMake(String make) {
        this.make = make;
    }
    private int age;

    public void setAge(int age) {
      if ((age >= 0) && (age <= 120)) {
        this.age = age;
      }
    }
Javaにおけるデータ型と例外処理

POJO の例

  • public クラス
  • private フィールド
  • public な getter/setter
    • Getter はフィールド値を返す
    • Setter はフィールド値を設定
  • デフォルト/引数なしコンストラクタ
public class Car {   // POJO class is public
    private String model;  // Fields are private
    private int year;

    // Default no arg constructor

    // Public getters to access POJO data
    public String getModel() {
        return model;
    }
    public int getYear() {
        return year;
    }
    // Public setters to set POJO fields
    public void setModel(String model) {
        this.model = model;
    }
    public void setYear(int year) {
        this.year = year;
    }
}
Javaにおけるデータ型と例外処理

練習しましょう!

Javaにおけるデータ型と例外処理

Preparing Video For Download...