PHP 面向对象编程:什么时候使用 'self' 和 '$this' ?

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。

如题

摈弃世俗浮躁,追求技术精湛
Summer
讨论数量: 5
Bear_zheng

self指当前类,$this指当前对象

如果是当前类的静态属性和方法,即不需实例化即可调用的可以使用self调用

如果是涉及到实例化后才可以获取的属性和方法使用$this调用

2年前 评论

class tt
{
    private $a = 'a parent';
    private static $b = 'b parent';
    const CC = 'cc parent';
}

class Test extends tt{
    private $a = 'a';
    private static $b = 'b';
    const CC = 'cc';
    public function run(){
        echo $this->a; // a
//         $this->$b , $this->CC // 报错

//        echo self::$a; // 低版本可以这样用,高版本不行,具体哪个版本改的记不清了
        echo self::$b; // b
        echo self::CC; // cc

//        static::$a; // 报错
        echo static::$b; // b
        echo static::CC; // cc
        echo parent::CC; // cc parent
    }
}
2年前 评论
wz8081633 2年前
hhhhkkk 2年前
wwwylo 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!