一、类和对象的使用

//类的属性前要有修饰词,如:var/static/private/public/protected
class Boy {
//对象共有属性
    var $name = "liu";
    var $age = "32";
    []function cook() {
        return "delicious";
    }
}
//内存中开辟空间创建实例
//栈内存,堆内存,代码段,初始化静态段
$bf = new Boy();
echo $bf -> age;
$bf -> cook();

栈内存:数字
堆内存:数组、字符串、对象
代码段:函数、语句等结构
如下图:
图片描述

二、$this

$this指向new的每个实例对象

三、构造方法

1.对象创建完成后,第一个自动调用的方法
2.方法名与类名相同,用来初始化对象个性属性(JS原型)
3.创建实例时给new赋值,再赋值给构造方法
4.魔术方法__construct();通用的构造方法
5.一般与魔术方法同时存在,默认魔术,推荐魔术

四、析构函数

1.对象回收前,最后自动调用的方法
2.魔术方法__destruct(),不能带有任何参数;
3.由于栈内存的特性,先声明的实例对象后回收
class Person {
    var $name;
    var $age;
    var $sex;
    //构造方法
    function __construct($name="",$age=0,$sex="男"){
        $this->name=$name;
        $this->age=$age;
        $this->sex=$sex;
    }
    //一般方法
    function say(){
        echo "{$this->name}.<br>";
    }
    function run(){
    }
    function eat(){
    }
    //析构方法
    function __destruct(){
        echo "再见:{$this->name}<br>";
    }
};
//实例
$p1=new Person("wo",32,"男");

1111
93 声望10 粉丝