我不知道我是否严重误解了 OOP 的概念,或者我在这里执行错误。请有人解释我在这里做错了什么
<?php
class my {
public function myName(){
return get_class($this);
}
public function toArray() {
$retArray=array();
$class_vars = get_object_vars($this);
foreach ($class_vars as $name => $value) {
$retArray[$name]=$value;
}
return $retArray;
}
}
class you extends my {
private $yoo;
public function __construct($var1) {
$this->yoo=$var1;
}
}
$objectYou = new you("I am pri");
echo '<pre>';
echo $objectYou->myName();
echo '<br>';
print_r($objectYou->toArray());
echo '</pre>';
?>
输出是:
你
大批 ( )
我在这里想要的是拥有具有将对象转换为数组my
的功能的超类。toArray
现在所有扩展这个类的类都应该继承这个函数并且可以使用它。但是这里调用 toArrayobjectYou
会返回空数组。同时调用myName
显示objectYou
子类的名称。