PHP子类如何使用父类的魔术方法?
时间:2024-12-6 21:05 作者:emer 分类: 无

php子类如何使用父类的魔术方法
在php中,子类可以继承父类的所有方法,包括魔术方法。
案例:
父类p定义了魔术方法__set()来设置私有属性$name。
代码示例:
立即学习“”;
class p {
private $name = "";
function __construct() {
$this->name = "hello";
}
public function __set($name, $value) {
$this->$name = $value;
}
public function showname() {
echo $this->name;
}
} 登录后复制
子类c继承了父类p。
代码示例:
立即学习“”;
class C extends P {
function __construct() {
parent::__construct();
$this->name = "你好";
}
} 登录后复制
在子类c中调用父类构造方法,先得到$this->name = 'hello'。随后进行赋值,会直接调用__set()方法,对name进行赋值'你好'。
因此,$this->showname()输出'你好'。
原理:
子类继承父类后,则子类就可以使用父类中所有的方法,包括魔术方法。子类中调用父类构造方法,会先执行父类的构造方法,然后执行子类的构造方法。
以上就是PHP子类如何使用父类的魔术方法?的详细内容,!