这里记录下PHP中构造函数的注意点。
这里和C/C++、Java不一样,比较灵活,估计是有隐式调用,在此不研究了,记录下注意的地方。
如下项目:
Base.php
<?php
class Base{
public function __construct(){
echo "__construct() : " . __CLASS__ . "<br/>";
}
}
Child.php
<?php
class Child extends Base{
public function __construct(){
echo "__construct() : " . __CLASS__ . "<br/>";
}
}
call.php
<?php
include "Base.php";
include "Child.php";
$base = new Child();
上面代码的运行截图:
从中可见只有子类的构造函数被调用了。修改Base.php如下:
<?php
class Child extends Base{
}
运行截图如下:
变成了调用父类。
改成这样后:
<?php
class Child extends Base{
public function __construct(){
echo "__construct() : " . __CLASS__ . "<br/>";
parent::__construct();
}
}
运行截图:
变成了先子类构造函数,再父类构造函数。
改成这样后:
<?php
class Child extends Base{
public function __construct(){
parent::__construct();
echo "__construct() : " . __CLASS__ . "<br/>";
}
}
运行截图:
先父类构造函数,再子类构造函数
PHP中的构造函数比较灵活,和C/C++、Java语言先比,感觉是构造函数+子类函数重写的功能合二唯一。
这里要注意,避免以后在开发PHP时遇到问题。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://it1995.blog.csdn.net/article/details/122407795
内容来源于网络,如有侵权,请联系作者删除!