JavaBeansとは
データを1つにまとめて管理する仕組みのこと。
例えばBookBeanであれば、本の値段、タイトル、著者などの情報が入っている。
public class BookBean implements Serializable {
private String title; //タイトル
private int price; //値段
private String author; //著者
}
作成のルール
- クラスはpublicで指定する
- フィールドはprivateで指定する
- 引数なしのpublicで指定したコンストラクタを定義する
- フィールドのgetterとsetterを定義する
- java.io.Serializableを実装する
- クラス名の最後はBeanにする
public class BookBean implements Serializable { //ルール1,5,6
private String title; //ルール2
public BookBean(){}; //ルール3
//ルール4
public void setTitle(String title) {
this.title = title;
}
//ルール4
public String getTitle() {
return title;
}
}
ルール2と4
カプセル化というもの。
フィールドをprivateにすることで外部から直接アクセスできないようにする。
フィールドにアクセスしたい時はインスタンスを生成して、値を入れたい時はsetterメソッドを、フィールドを返したい時はgetterメソッドを利用する。
このように外部からデータを保護することをカプセル化という。
メソッド名は基本は「getフィールド名」「setフィールド名」(先頭大文字)だが、必ずしもフィールド名にしなくても良い。
例えば以下でも良いが、混乱するため基本的にはメソッド名はフィールド名を使った方が良い。
private String title;
public void setName(String name) {
this.title = name;
}
ルール3
引数のないコンストラクタを定義することで、簡単にインスタンス化できる。
コンストラクタをオーバーライドして、新しいコンストラクを定義しても良い。
ルール5
ちょっと難しいのでこちらを参考。
使い方
Beanのインスタンスを作成して、setterで値を入れてgetterで呼ぶのが基本。
public class BookBean implements Serializable { //ルール1,5,6
private String title;
public BookBean(){};
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
}
public class Library {
public static void main(String[] args) {
BookBean book = new BookBean();
BookBean book_2 = new BookBean();
book.setTitle("デルトラクエスト");
book_2.setTitle("かいけつゾロリ");
System.out.println("タイトル" + book.getName()); //デルトラクエスト
System.out.println("タイトル" + book.getName()); //かいけつゾロリ
}
}
終わり
開発現場ではJavaBeansは必須ではないでしょうか
絶対に覚えておかないといけませんね!