// classAFunc // Я хочу, чтобы это вывело classB
$, это не имеет ничего общего с достижением того, что вы хотите, потому что функция func1
в вашей программе изменяет name
свойство от "classB"
до "classAFunc"
, это то, что вы сделали здесь
echo $test->name; // classB
echo $test->func1();//classAFunc (func1 sets the name property to classAFunc)
echo $test->func2();//classAFunc //name property of the object is already changed by func1
вы можете позвонить func2()
до func1()
, чтобы получить то, что вы хотите
или вы можетеmake func2()
устанавливает свойство name следующим образом:
public function func2(){
echo $this->name = "classB";
}
Примечание: когда B
extended A
их свойство name
объединено, то есть объекты B
будут иметь только 1 name
свойство не 2!