用户登录

在类里面,我们可以使用 __construct() 这个魔术方法,它是一个构造函数,这个函数会在创建对象的时候提前被自动调用。你想在创建对象之前去做点事,比如去初始化一些东西,从数据库里面提取数据等等。这些在创建对象之前必须要做的事情,都可以放在 __construct() 这个构造函数里面。

打开 index.php ,在这个 Track 类里面,可以使用一个 __construct 函数 ... public function __construct ... 在这个函数里,我们可以简单在屏幕上输出点文字 ... 初始化数据 ... 在它前面可以加上这个类的名称 ... __CLASS__ 可以表示这个类的名称 ...

public function __construct() {
echo '初始化数据...';
}

然后在下面,去创建一个 Track 类的对象 ...

$magic = new Track();

保存 ... 回到浏览器 .... 会显示 Track 初始化数据 ...

在子类中覆盖

在子类里面,我们同样可以使用 __construct() 函数去定义一下在子类里面创建对象的时候要做的事。这样,会覆盖掉父类里面定义的 __construct ...

回到 index.php ..

Player 这个类是 Track 类的子类,在这个类里,我们可以再去用一个 __construct() ... public function __construct .... 同样是在屏幕上输出点内容 ..

public function __construct() {
echo __CLASS__ . ' 初始化播放器...';
}

在下面,再去创建一个 Player 对象 ... (#去掉 $magic = new Track())

$my_player = new Player();

回到浏览器 ... 会显示 Player 初始化播放器 ...

在子类里面,重新定义父类里的方法,可以覆盖掉父类的方法 ... 在覆盖的时候,我们可以使用 parent 这个关键词,去引用父类里的方法 ... 回到 index.php ...

比如这里我们在 Player 的构造函数里,需要先去执行一下父类里的构造函数 ... 可以这样 ... parent ... 冒号冒号 ... __construct()

parent::__construct();

保存 ... 回到浏览器 ...

会显示,Track 初始化数据 ... 这行文字是在 Track 类的构造函数里要显示的内容 ... 接着是 Player 初始化播放器 ... 这行文字是在 Player 这个类里的构造函数要显示的内容。

构造函数-创建对象之前做点事 __construct()《 PHP 面向对象 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点