《PHP中构造函数和析构函数的具体应用及详细方案+源码》要点:
本文介绍了PHP中构造函数和析构函数的具体应用及详细方案+源码,希望对您有用。如果有疑问,可以联系我们。
构造函数和析构函数的应用
1.1 问题
通过构造函数初始化数据,具有构造函数的类会在每次创建新对象时先调用此办法,所以非常适合在使用对象之前做一些初始化工作.
析构函数会在到某个工具的所有引用都被删除或者当工具被显式销毁时执行.
2.2 计划
构造函数和析构函数的语法如下:
//构造函数
function __construct([mixed $args[,…]]){
代码段;
}
//析构函数
function __destruct(void){
代码段;
}
3.3 步调
第一步,创建尺度的PHP文档.
第二步,使用之前创立好的NbaPlayer类,在此基础上添加构造函数,初始化数据,其代码如下:
<?php
class NbaPlayer {
// 类的属性的界说
public $name;
public $height;
public $weight;
public $team;
public $playerNumber;
/**
* 构造函数一般用于初始化数据等
* 构造函数在对象被实例化的时候自动挪用
* @param string $name
* @param string $height
* @param string $weight
* @param string $team
* @param string $playerNumber
*/
public function __construct($name,$height,$weight,$team,$playerNumber){
echo $name.'实例化对象的时候会自动挪用<br/>';
$this->name=$name;
$this->height=$height;
$this->weight=$weight;
$this->team=$team;
$this->playerNumber=$playerNumber;
}
//类的办法的定义
/**
* 跑
*/
public function run(){
echo 'Runing...<br/>';
}
/**
* 控球
*/
public function dribble(){
echo 'Dribbing...<br/>';
}
/**
* 投篮
*/
public function shoot(){
echo 'Shooting...<br/>';
}
/**
* 扣篮
*/
public function dunk(){
echo 'Dunking...<br/>';
}
/**
* 过人
*/
public function pass(){
echo 'Passing...<br/>';
}
}
?>
第三步,添加析构函数,当对象不再使用的时候自动调用,一般用于清理法式中使用的系统资源.其代码如下:
/**
* 析构函数,用于清理法式中使用的系统资源,像关闭数据库连接,释放资源等
* 析构函数在该对象不再使用的时候自动挪用
*/
public function __destruct(){
echo $this->name."析构函数在销毁对象或者对象不再使用的时候自动挪用<br/>";
}
第四步,实例化类的时候传入相应参数,这时候构造函数就会初始化数据,我们实例化两个对象,一个$jordan,一个$james,接着得到相应的名称,调用一些办法测试下.最后销毁$james对象,将其赋值为NULL.这时候析构函数自动被调用.其代码如下:
$jordan=new NbaPlayer('Jordan','198cm','98kg','Bull','23');
echo '球员名称:'.$jordan->name.'<br/>';
echo $jordan->shoot();
echo '<hr/>';
$james = new NbaPlayer("James", "203cm", "120kg", "Heat", "6");
echo $james->name."<br/>";
echo $james->dunk();
echo '<hr/>';
$james=null;
echo 'James工具被销毁了<br/>';
启动浏览器而且浏览器该文件,其运行效果如图1所示.
4.4 完整代码
03-NbaPlayer.class.php具体代码实现如下:
<?php
namespace day01;
/**
*
* @author King
* NbaPlayer类
*/
class NbaPlayer {
// 类的属性的界说
public $name;
public $height;
public $weight;
public $team;
public $playerNumber;
/**
* 构造函数一般用于初始化数据等
* 构造函数在对象被实例化的时候自动挪用
* @param string $name
* @param string $height
* @param string $weight
* @param string $team
* @param string $playerNumber
*/
public function __construct($name,$height,$weight,$team,$playerNumber){
echo $name.'实例化对象的时候会自动挪用<br/>';
$this->name=$name;
$this->height=$height;
$this->weight=$weight;
$this->team=$team;
$this->playerNumber=$playerNumber;
}
/**
* 析构函数,用于清理法式中使用的系统资源,像关闭数据库连接,释放资源等
* 析构函数在该对象不再使用的时候自动挪用
*/
public function __destruct(){
echo $this->name."析构函数在销毁对象或者对象不再使用的时候自动挪用<br/>";
}
//类的办法的定义
/**
* 跑
*/
public function run(){
echo 'Runing...<br/>';
}
/**
* 控球
*/
public function dribble(){
echo 'Dribbing...<br/>';
}
/**
* 投篮
*/
public function shoot(){
echo 'Shooting...<br/>';
}
/**
* 扣篮
*/
public function dunk(){
echo 'Dunking...<br/>';
}
/**
* 过人
*/
public function pass(){
echo 'Passing...<br/>';
}
}
$jordan=new NbaPlayer('Jordan','198cm','98kg','Bull','23');
echo '球员名称:'.$jordan->name.'<br/>';
echo $jordan->shoot();
echo '<hr/>';
$james = new NbaPlayer("James", "203cm", "120kg", "Heat", "6");
echo $james->name."<br/>";
echo $james->dunk();
echo '<hr/>';
$james=null;
echo 'James工具被销毁了<br/>';
维易PHP培训学院每天发布《PHP中构造函数和析构函数的具体应用及详细方案+源码》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/6886.html