Sifat statik boleh dipanggil dalam kaedah bukan statik
God_Like
God_Like 2019-04-14 19:20:19
0
3
2190

Seperti yang dinyatakan pada 3:30 dalam pelajaran ini, sifat statik tidak boleh dipanggil dalam kaedah bukan statik

Tetapi mengikut ujian peribadi, kaedah bukan statik dalam kelas ini boleh memanggil sifat statik

Gunakan sifat statik : :Nama atribut】Hanya

God_Like
God_Like

membalas semua(2)
God_Like

Pertama sekali, terima kasih banyak atas jawapan cikgu

1 Kelas dalam kod sampel yang anda berikan tidak mentakrifkan kaedah ujian(), jadi instantiasi akan berjalan dengan ralat

echo (Demo baharu) ->test(); // "Ralat "

Kedua, saya telah menggunakan versi php7.2 untuk mempraktikkan perkara

Dalam kod yang anda berikan kepada saya, saya menukar (Demo baharu)->test() kepada (Demo baharu)->test2() Berjalan

kedua-dua hasil keluaran ialah peter

Adakah ia membuktikan bahawa [kaedah biasa] kelas

boleh memanggil kedua-dua [sifat statik kelas] dan [statik kaedah] kelas

Peter-Zhu

Pertama sekali, terima kasih atas sikap serius anda terhadap pembelajaran Anda betul, terdapat beberapa kelemahan dalam tutorial...

Malah, dalam kaedah biasa, memanggil atribut statik secara langsung tidak akan melaporkan ralat, tetapi ia adalah kesilapan. Tidak dibenarkan sama sekali. Memanggil kaedah statik,

Dalam kaedah biasa, secara rasmi tidak disyorkan untuk menggunakan ahli statik Penggunaan atribut statik dibenarkan di sini. Ia adalah pepijat sejarah yang mungkin diperbetulkan dalam versi masa hadapan Berikut ialah kod ujian , untuk rujukan anda:

class Demo
{
    // 静态属性
    public static $name = 'peter';
    
    // 静态方法
    public static function hello()
    {
       return self::$name;
    }
    
    //  普通方法1
    public function test1()
    {
        return self::$name;
    }
    
    //  普通方法1
    public function test2()
    {
        return self::hello();
    }
}

echo (new Demo)->test1();    // "peter"
echo '<hr>';
echo (new Demo)->test();    // "Error"

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan