鍍金池/ 問答/PHP/ PHP 父類方法如何訪問子類屬性?

PHP 父類方法如何訪問子類屬性?

PHP 父類方法如何訪問子類屬性?

A 類為父類
里面有一個(gè)方法為調(diào)用當(dāng)前類的 $name 屬性
當(dāng) B 類繼承了 A類時(shí)
但是輸出仍然是 A (父類) 的 屬性?

clipboard.png

<?php
class A
{
    private static $name = "A類";
    
    public static function test()
    {
        echo self::$name;
    }
}

class B extends A
{
     private static $name = "B類";
}

B::test();
?>
回答
編輯回答
陪她鬧

static:“延遲靜態(tài)綁定”了解一下

class A
{
    private static $name = "A類";
    
    public static function test()
    {
        echo static::$name;
    }
}

class B extends A
{
     protected static $name = "B類";
}

B::test();
2018年7月19日 10:27
編輯回答
慢半拍
public static function test()
{
    echo static::$name;
}

static代表的是調(diào)用的那個(gè)類。而self代表的是方法所在的類

你也可以 echo get_called_class(); 看看

2017年7月20日 03:18