您的位置:首页 > 编程语言 > PHP开发

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

2015-06-20 00:23 696 查看
一、类与对象

不仅在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中如果要在方法体中调用对象中的属性,都要加上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();
?>


本文作者: By: 罗坚元 http://blog.csdn.net/sunyuan_software
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: