ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【java】getterとsetterでアクセスコントロール

getterとsetterでアクセスコントロール

  • フィールドは不用意にアクセスされないようにprivateで宣言する。
  • privateのフィールドにアクセスするためにgetterとsetterを作る。

Human.java

package jp.suzuki.practice.model;

public class Human {

    //フィールドをprivateにして宣言
	private String name;
	private int score;
	
    //コンストラクタで引数を受け取る
	public Human(String name,int score){
		this.name = name;
		this.score = score;
        
	}
    
    //privateのフィールドにアクセスして値を参照
	//getにフィールド名をつけることが多い
	public int getScore(){
		return this.score;
	}
    
    //privateのフィールドにアクセスして値を代入
	//setにフィールド名をつけることが多い
	public void setScore(int score){
		//0以上のscoreがきた時、thisのscoreに代入
		if(score > 0){
			this.score = score;
		}
	}
}

practice.java(mainクラス)

package jp.suzuki.practice;
//Humanクラスを呼び出す
import jp.suzuki.practice.model.Human;

public class practice{
    public static void main (String[] args){
      //Humanのインスタンスbobを生成
      //引数に各値を渡す
      Human bob = new Human("bob",100);
      //privateのフィールドscoreの値を参照
      System.out.println(bob.getScore());
      //privateの変数scoreに値を代入
      bob.setScore(200);
      //privateのフィールドscoreの値を参照
      System.out.println(bob.getScore());
    }
}