首页 > 建站教程 > PHP教程 >  PHP类与对象,构造函数和析构函数,加上this绑定详解正文

PHP类与对象,构造函数和析构函数,加上this绑定详解

一、类与对象

不仅在PHP中,在所有面向对象程序设计语言中,类都是抽象的,对象是类的一个实例。所有抽象就是:”抽取出相像的”。

看一下PHP中的类与对象代码的实现
<?php
    class Person{ //定义一个叫Person的类
        public  $name; //声明共有的属性:名字
        public function say(){ //声明共有的方法:说话
            echo 'saying';
        }       
    }
?>
构造函数和析构函数

构造函数是在new一个对象的时候执行的方法,析构函数是对象被销毁的时候执行的方法。
对象的销毁可以显式销毁或者等代码页面执行完毕后自动销毁。
<?php
    class Person{ //定义一个叫Person的类
          public  $name; //声明共有的属性:名字
          public function say(){ //声明共有的方法:说话
              echo 'saying';
          }       
          public function __construct(){ //固定的__construct声明构造函数
              echo 'construct'; //在对象创建时输出
          }
          public function __destruct(){
              echo 'destruct'; //对象销毁时输出
          }
      }
    $a =new Person(); //输出construct
    //待代码结束后输出 destruct
?>
this的绑定

this返回当前绑定的对象。在PHP中如果要在方法体中调用对象中的属性,都要加上this,否则被认为是局部变量。
<?php
    class Person{ //定义一个叫Person的类
     public  $name='color'; //声明共有的属性:名字
     public function say(){ //声明共有的方法:说话
         echo 'saying';
     }       
     public function __construct(){
             echo $this->name; //输出color,如果是echo $name会报错,因为此时的$name未定义
     }
 }
    $a=new Person();
?>