如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
类中含有成员属性和成员方法
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.魔术
//魔术方法,进入此类后直接执行此方法
public function __construct($name,$price)
{
$this->name =$name;
$this->price=$price;
}
//传统方法,类名与函数名相同
//public function Car($name,$price){
// $this->name =$name;
// $this->price=$price;
// }
最先进入 与 最后退出
构造方法
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>";
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('海马');
//车名为宝马进入
//车名为兰博进入
//兰博退出
//车名为海马进入
//海马退出
//宝马退出
类的比较
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