PHP中get_class($this)與__CLASS__的區別

通過下面代碼的輸出結果,我們可以很清楚地看出二者的區別:

<?php
//父類
class ParentClass
{
    
public function printClassName()
    {
        
echo get_class($this. " ";
        
echo __CLASS__ . " ";
    }
}

//子類
class SonClass extends ParentClass
{
    
public function printMyClassName()
    {
        
echo get_class($this. " ";
        
echo __CLASS__ . " ";
    }
}

function main()
{
    
$p = new ParentClass();
    
/*
    打印結果:
    ParentClass
    ParentClass
    
*/
    
$p->printClassName();

    
$s = new SonClass();
    
/*
    打印結果:
    SonClass
    ParentClass
    
*/
    
$s->printClassName();
    
/*
    打印結果:
    SonClass
    SonClass
    
*/
    
$s->printMyClassName();
}

main();
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章