一、类和对象的使用
//类的属性前要有修饰词,如: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,"男");
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。