
php 子类使用父类魔术方法
父类中定义了魔术方法,子类如何才能在子类中使用这些魔术方法呢?
假设我们有一个父类 p,它定义了以下魔术方法:
class p { private $name = ""; function __construct() { $this->name = "hello"; } public function __set($name, $value) { $this->$name = $value; } public function showname() { echo $this->name; }}
要在子类中使用这些魔术方法,需要以下步骤:
立即学习“PHP免费学习笔记(深入)”;
定义一个子类 c 继承父类 p。在子类构造函数中调用父类构造函数。在子类中对父类私有成员进行赋值,这将触发 __set() 魔术方法。
例如,以下子类 c 继承了父类 p 魔术方法:
class c extends p { function __construct() { parent::__construct(); $this->name = "你好"; }}
创建该子类的一个实例并调用 showname() 方法:
$c = new C;$c->showName();
由于子类继承了父类并调用了父类构造函数,因此子类也会初始化 $name 为 “hello”。随后,子类对 $name 进行赋值,这将触发 __set() 魔术方法,最终输出 “你好”。
这就是子类如何使用父类中定义的魔术方法。通过这种方式,子类可以扩展和增强父类的功能,而无需重新定义魔术方法。
以上就是PHP 子类如何使用父类中定义的魔术方法?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1249256.html
微信扫一扫
支付宝扫一扫