[ PHP ] – OOP 13 get_called_class() 取得是那個類別呼叫的 除錯用

再來介紹 物件導向中 get_called_class() 方法,也可使用 __CLASS__;主要是拿來除錯時使用。

class computer {
	public static $num = 0;
	public static function add (){
		echo 'Call From '.get_called_class().' ';
		return self::$num+=1;
	}
}
//
echo computer::$num.'<br>';//初始值
echo computer::add().'<br>';//第一次呼叫 顯示1
echo computer::add().'<br>';//第二次呼叫 顯示2
echo computer::add().'<br>';//第三次呼叫 顯示3
class b extends computer {
	public static function add (){ //覆寫父方法
		echo 'Call From '.get_called_class().' ';
		return self::$num+=2;//改加2
	}
}
echo b::$num.'<br>';//值變 已經變3
echo b::add().'<br>';//子類別已覆寫父的方法 所以是加2 不是加1 顯示5
//靜態屬性與方法 使用時不用生成物件就可以直接使用 類別名稱::靜態屬性 類別名稱靜態方法()
//靜態屬性與方法 在類別中需使用 self or static 不可使用 this
//顯示結果
/*
Call From computer 1
Call From computer 2
Call From computer 3
3
Call From b 5
*/
!去下營經續永站本助幫能就下一點輕輕,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,輕輕點一下就能幫助本站永續經營下去!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。