我最近一直在努力自学一些OOP,而且我遇到了一些对我来说很奇怪的东西.我想知道是否有人可以向我解释这一点.
我受到本网站上的一个问题的启发,试用这个小的测试代码片段(在PHP中):
class test1 {
function foo ($x = 2, $y = 3) {
return new test2($x, $y);
}
}
class test2 {
public $foo;
public $bar;
function __construct ($x, $y) {
$foo = $x;
$bar = $y;
}
function bar () {
echo $foo, $bar;
}
}
$test1 = new test1;
$test2 = $test1->foo('4', '16');
var_dump($test2);
$test2->bar();
Run Code Online (Sandbox Code Playgroud)
简单的东西.$test1应返回回一个目的是$test2,以$test2->foo等于4并且$test2->bar等于16我的这一问题是,虽然$test2被做成类的一个对象test2,既$foo和$bar内$test2是NULL.构造函数肯定是在运行 - …