php构造函数与析构函数实例详解

发布时间:2020-07-01编辑:脚本学堂
本文介绍了php构造函数与析构函数的一个例子,有详细的注释,学习下构造函数、构造方法、析构函数的用法。

例子,php 构造函数析构函数
 

复制代码 代码示例:

<?php
/*如何实例化对象
 * $对象名=new 类名称()
 *
 * $对象名称->成员属性; $p->name="xxx"
 * $对象名称->成没方法; $p->say();
 *
 *
 * 特殊的引用$this
 * 构造方法 (器)
 * 特点:对象一产生的时候,自动调用构造方法,初始化成员属性
 * 名称和类名相同。
 * 对象生成一个,就调用一次。生成多个,调用多次。
 * 可以有形参
 * php5 php4的申明不同,使用时php5优先
 *
 *
 * 析构函数
 * 在对象消失前做一些工作,比如打开文件后要关闭时,或是打开数据库,又要关闭时
 * 有些象JAVA中的垃圾回收器
 * (脚本学堂 www.jb200.com)
 * */
class Person
{
//成员属性
var $name;
var $age;
 var $sex;
var $phone;
//构造方法

// function Person($name,$age,$sex) //php4的申明方法
// {
// $this->name=$name;
// $this->age=$age;
// $this->sex=$sex;
// }

function __construct($name,$age,$sex)//php5申明方法 如果两个构造方法同时存在,先找php5.
{
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
}
//成员方法
function say()
{
   echo"我的名字是: ".$this->name. " 我的年龄是: ".$this->age." 我的性别是: ".$this->sex."<br>";
}

function run()
{
 echo"我在走路";
}

function eat()
{
   echo "我在吃饭";
}

function work()
{
   echo "我在工作";
}

function study()
{

}

function __destruct()
{
    echo $this->name." 再见!!!<br>";
}
 }
/* class Phone
{
var $manufacturers;
var $color;
var $size;

function call()
{
 
}

function answerCall()
{

}

function sendMessage($person,$message)
{
    $person->phone->recieveMessage($message);
}

function recieveMessage($message)
{
      echo "接收的信息是:".$message."<br>";
}

function playMusic()
{

}
} */

$p1=new Person("张三",29,"男");
$p2=new Person("李四",39,"女");
$p3=new Person("王五",99,"男");
 
$p4=new Person($name="", $age="", $sex="");
 
/* $p1->name="张三";
 $p2->name="李四";
 $p3->name="王五";
 
 $p1->age=20;
 $p2->age=51;
 $p3->age=48;
 
 
 $p1->sex="男";
 $p2->sex="女";
 $p3->sex="男"; */
 
 $p1->say();
// $p1=null;

 $p2->say();
 $p3->say();
 
 $p1->__destruct();
 $p2->__destruct();
 $p3->__destruct();
 
 /* $phone1=new Phone();
 $phone2=new Phone();
 $phone3=new Phone();
 
 $phone1->manufacturers="nokia";
 $phone2->manufacturers="semmens";
 $phone3->manufacturers="samsung";

 $p1->phone=$phone1;
 $p2->phone=$phone2;
 $p3->phone=$phone3;
 
 $p1->phone->sendMessage($p2,"hello"); */
 
/* $p1->say();
 $p2->eat();
 $p3->run(); */   
?>