欢迎来到[自学php网] ①群 287460651

主页 > php专栏 > php综合实列 >

PHP面向对象程序设计之构造方法和析构方法详解

来源:自学PHP网    时间:2019-08-01 11:26 作者:小飞侠

[导读] PHP面向对象程序设计之构造方法和析构方法详解...

本文实例讲述了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面向对象程序设计入门亚博足球APP》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门亚博足球APP》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门亚博足球APP》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

最新文章

点击排行

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有www.zixuephp.com

网站声明:本站所有视频,亚博足球APP都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com