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