本文实例讲述了PHP面向对象程序设计之构造方法和析构方法。分享给大家供大家参考,具体如下:对象创建完成后第一个被对象自动调用 对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的 初始化工作,使用析构方法完成一些对象在销毁之前的 清理工作。 1.构造方法 function __construct( [参数列表] ){ //构造方法名称是以两个下划线开始的 //方法体,通常用来对成员属性进行初始化赋值 } setName($name); //调用类方法 $this->age = $age; $this->setGender($gender); } public function setName($name){ $this->name = $name; } // ... setter 方法 } $person = new Person("yeoman",23,'男'); ?> function __construct(){ parent::__construct(); // 调用父类的构造函数必须显示的使用parent调用父类构造函数 classname::__construct(); // 调用其他类的构造函数,classname是类名 //其他操作 } 调用: setName($name) echo "动物类被创建!"; } // ... 其他方法 } class Birds extends Animal{ private $name; private $leg; function __construct($name,$leg){ parent::__construct($name); // 显示调用 $this->setLeg($leg); echo "鸟类被创建!"; } // ... 其他方法 } ?> 时,会沿着父类向上搜索,直到找到最合适的构造函数,例如: // 接上例 class Parrot extends Birds{ private $name; private $leg; private $wing; function __construct($name){ parent::__construct($name); // 此时没有找到父类(Birds类)合适的构造函数,只能向上搜索,搜索到Animal类时,才找到合适的构造函数 echo "鹦鹉类被创建!"; $this->smackTalk(); /* 输出结果: "动物类被创建!" "鹦鹉说话!" */ } function smackTalk(){ echo "鹦鹉说话!"; } } function __construct($name,$leg){ Animal::__construct($name); // 调用Animal构造函数 Birds::__construct($name,$leg); // 调用Birds构造函数 } 2.析构函数 function __deconstruct(){ //方法体,通常用来完成一些在对象销毁前的清理任务 } "; ?> $a = nullunset() name = $name; $this->sex = $sex; $this->age = $age; } function __destruct(){ echo "再见" . $this->name . " "; } } $person1 = new Person("张三三", "男", 23); $person1 = null; //第一个对象将失去引用 $person2 = new Person("李四四", "女", 17); $person3 = new Person("王五五", "男", 43); ?> 栈内存 后进先出特点,最后创建的对象会被最先释放,多以先自动调用第三个对象的析构方法,最后才调用第二个对象的析构方法。php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
查看更多关于PHP面向对象程序设计之构造方法和析构方法详解的详细内容...