欢迎光临
感谢一路有你

OOP面向对象基础

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

类中含有成员属性和成员方法

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

栈就像一个瓶子,先进去,最后出来

队列就像一个管子,先进去先出来

赞(2) 打赏
未经允许不得转载:王明昌博客 » OOP面向对象基础
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏