java入門 第8回 メンバのアクセス制御とカプセル化

第8回のポイント

メソッドの作り方


int getTemp(){
 return 180;

} 
戻り値 メソッド名(引数)
{
 return 戻り値のデータ

}
戻り値がない場合はvoidと書きます。(必須)また、returnは必要ありません。

変数には寿命と有効範囲がある

キーワードはブロック括弧 { } privateなのか、publicなのか(protectedなのか) 
変数の定義する位置によってスコープ(有効範囲)が変わる。 一つのメソッドの中に同じ変数名は使えない。 

クラス設計のキモ「カプセル化」

 一言でいうと、「他のクラスのフィールドメンバ(変数やオブジェクト)には直接アクセスしない。」 
メソッドを経由して変数やオブジェクトにアクセスする
getXX() ゲッターメソッド
void setXX() セッターメソッド

メンバはpublicメンバとprivateメンバにわかれる。
ブロック括弧 { } の中で変数を定義した場合、そのブロック内で変数は有効。
ブロック内で同じ変数名は使えない。 
クラスのブロックで変数を定義すると、プログラム全体で変数を利用でき、プログラム終了時まで変数は生存している。
 フィールドメンバへはメソッドを経由してアクセスする(カプセル化)。 

googleドライブ上にこの講座のプログラムコード、スライドデータを置いています。

以下は実際にビデオの中で作成したプログラムです。

public class Study08 {
 public static void main(String[] args) {
  Teppan t = new Teppan();
  t.setTemp(200);
  System.out.println("現在の温度は"+t.getTemp()+"度です。");
  System.out.println(t.yaku());
 }
}
class Teppan{ //鉄板クラス
 private int temp=180;//鉄板の温度
 void setTemp(int tmp){
  temp=tmp;
  System.out.println("温度を"+temp+"にしました。");
 }
 String yaku(){//焼くメソッド
  return temp+"度で焼きました。";
 }
 int getTemp(){
  return temp;
 }
}