如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
类中含有成员属性和成员方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Person { //成员变量 public $name = '小小'; public $sex; //成员方法 public function say(){ echo "this is ".$this -> name ; } } $ww = new Person; $ww ->name='xxx';//成员属性的赋值 $ww ->say();//展示成员方法 |
$this
成员属性
- 可以有默认值
- 默认值==不能是变量==
- 默认值可以是==常量==
- 值可以的任意类型
- 默认值==不能进行运算==
构造方法
1.传统
2.魔术
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//魔术方法,进入此类后直接执行此方法 public function __construct($name,$price) { $this->name =$name; $this->price=$price; } //传统方法,类名与函数名相同 //public function Car($name,$price){ // $this->name =$name; // $this->price=$price; // } |
最先进入 与 最后退出
构造方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public function __construct($name,$color,$price) { $this ->name =$name; $this ->color = $color; $this ->price = $price; echo "this is a ".$this->name; echo "最先进入"; } public function __destruct() { echo "最后出来"; } } $bm = new Car('宝马','黄色','888888'); //unset($bm);删除后,直接执行结束,后面语句据需执行 echo "<br>测试<br>"; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
class Car { public $name; public function __construct($name) { $this->name=$name; echo "车名为".$this->name; echo "进入<br>"; } public function __destruct() { echo $this->name."退出<br>"; } } //$a1 = new Car('宝马'); //$a2 = new Car('兰博'); //$a3 = new Car('海马'); //车名为宝马进入 //车名为兰博进入 //车名为海马进入 //海马退出 //兰博退出 //宝马退出 $a1 = new Car('宝马'); $a2 = new Car('兰博'); unset($a2); $a3 = new Car('海马'); //车名为宝马进入 //车名为兰博进入 //兰博退出 //车名为海马进入 //海马退出 //宝马退出 |
类的比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class A{ } class B{ } $a = new A; $b = new A; $c = new B; $d = $a; if ($a==$d){ echo "yes"; }else{ echo "no"; } //两个等于,判断的是是否是同一类 //三个等于,判断的是是否是同一对象 //$a==$b yes //$a===$b no //$a==$c no //$a===$c no //$a===$d yes |