1、类和对象的使用数组
//类的属性前要有修饰词,如: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();
栈内存:数字
堆内存:数组、字符串、对象
代码段:函数、语句等结构
以下图:函数
2、$thisthis
$this指向new的每一个实例对象
3、构造方法spa
1.对象建立完成后,第一个自动调用的方法 2.方法名与类名相同,用来初始化对象个性属性(JS原型) 3.建立实例时给new赋值,再赋值给构造方法 4.魔术方法__construct();通用的构造方法 5.通常与魔术方法同时存在,默认魔术,推荐魔术
4、析构函数code
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,"男");