- 締切済み
インスタンスとコンストラクタ
たまの身長は80cm、体重は30kgです。と表示されるようにするには何を追加すればいいですか? // この下に記述するの下に、 $toraneko = new Cat('たま', 80, 30); $toraneko->show(); function __construct($name, $height, $weight) { $this->name = $name; $this->height = $height; $this->weight = $weight; を追加しても表示されませんでした。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <?php // Catクラス定義 class Cat { public $name; public $height; public $weight; function show() { print "{$this->name}の身長は{$this->height}cm、体重は{$this->weight}kgです。 <br>"; } } // この下に記述する ?> </body> </html>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- AsarKingChang
- ベストアンサー率46% (3467/7474)
$thisは自分自身です。 例えば。。 $toraneko1 = new Cat('たま', 80, 30); $toraneko2 = new Cat('たま', 80, 30); と2個インスタンスを作った場合、 Catのクラスの中でどう区別すればいいですか? という問題です。 $toraneko1->show(); この中の、$thisは$toraneko1ですが、 $toraneko2->show(); この中の、$thisは$toraneko2です。 そうしないとnewで作られるまで実態を持っていないクラスは 自分自身を表せないでしょ。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
補足
$thisの意味がよくわかりません。本には「レシーバーと呼ばれるインスタンスが入っている」と書いてありましたが理解できませんでした。