概要
- メンバ変数
- 「クラスの持ち物」「クラスの属性」「クラスの特徴・状態を表すもの」「その人の名前、年齢、趣味」
- ローカル変数
- 「一時的な作業のために使うだけの変数」「関数・メソッドの中だけの持ち物」「その場限りのメモ書き」
具体例
class Dog {
// メンバ変数(フィールド)
public $name;
public function bark() {
// ローカル変数
$sound = "ワンワン!";
echo $this->name . " が " . $sound;
}
}
$dog = new Dog();
$dog->name = "ポチ";
$dog->bark();
- $name → クラスDogのメンバ変数 → このDogオブジェクトにずっと付いてまわる
- $sound → bark()メソッドのローカル変数 → bark()の中だけで使う、一時的なもの
まとめ
項目 | メンバ変数 | ローカル変数 |
---|---|---|
宣言場所 | クラスの中(メソッドの外) | メソッドの中 |
使える範囲 | クラスのインスタンスが生きている間 | そのメソッド・ブロックの中だけ |
保存される期間 | インスタンスが存在する間ずっと | メソッドが呼ばれている間だけ |
目的 | オブジェクト(クラスのインスタンス)の状態を保持するため | 一時的な計算や処理のために使う |