0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メンバ変数とローカル変数

Posted at

概要

  • メンバ変数
    • 「クラスの持ち物」「クラスの属性」「クラスの特徴・状態を表すもの」「その人の名前、年齢、趣味」
  • ローカル変数
    • 「一時的な作業のために使うだけの変数」「関数・メソッドの中だけの持ち物」「その場限りのメモ書き」

具体例

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()の中だけで使う、一時的なもの

まとめ

項目 メンバ変数 ローカル変数
宣言場所 クラスの中(メソッドの外) メソッドの中
使える範囲 クラスのインスタンスが生きている間 そのメソッド・ブロックの中だけ
保存される期間 インスタンスが存在する間ずっと メソッドが呼ばれている間だけ
目的 オブジェクト(クラスのインスタンス)の状態を保持するため 一時的な計算や処理のために使う
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?