javascriptは、緩いのでインスタンスにメソッドを追加することができます。
もちろん、メソッドを追加されたインスタンスと同じ原本(コンストラクタ)から生成された別のインスタンスは、そのメソッドは使えません。
これは、プロトタイプベースの話ですが、クラスベースであるjavaだと同一のクラスから生まれたインスタンスは、同一のメンバを持つことが当たり前ですが、それは同じクラスベースであるphpでも同じで、実体化してからメンバを追加することは、不可能なのでしょうか。
php
1class Test { 2 public $name; 3 public $lastName; 4 5 public function __construct($namae,$myozi) { 6 $this->name = $namae; 7 $this->lastName = $myozi; 8 } 9 10 function method() { 11 return print "姓:".$this->lastName."名:".$this->name; 12 13 } 14 15} 16$test = new Test("太郎","田中"); 17$test->method(); 18$test->aaaa = function() { 19 return print "aaaa"; 20} 21$test->aaaa();////エラーが出る! 22//$test.aaaa(); 23
確かにエラーが出るのでjavaと同じなんだ、と思いました。しかし、ソースの書き方に間違いがあってエラーがでてしまっているのではないか?と思い質問しました。
phpも、javaと同じような仕様なのでしょうか。
回答2件
あなたの回答
tips
プレビュー