日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) PHP其他 正文

基礎(chǔ)知識(shí),PHP對(duì)象中static、$this、self 的區(qū)別

作者:L小臣 更新時(shí)間: 2023-08-30 PHP其他

1、$this 指當(dāng)前對(duì)象的實(shí)例化
t h i s 表 示 對(duì) 象 的 引 用 , this 表示對(duì)象的引用, this對(duì)this寫(xiě)在類中的非靜態(tài)方法中, 實(shí)例化該類,誰(shuí)調(diào)用該方法(一般是對(duì)象調(diào)用)$this則表示該對(duì)象的引用。

<?php
class Exa {
	public $name;
	public function getName(){
		echo $this->name;
	}
}
$e = new Exa();
$e1 = new Exa();
$e->name = '小張';
$e1->name = '小李';
$e->getName();	// 小張
$e1->getName();	// 小李

$this是指類的實(shí)例,實(shí)例化的是C類,所以調(diào)用C類的方法。

2、self 指向類本身
self 和 this 不同,一般用來(lái)訪問(wèn)類中的靜態(tài)變量和靜態(tài)方法,也是寫(xiě)在類中的方法。self寫(xiě)在哪個(gè)類中則表示該類的引用。

<?php
class Person {
	public static function status(){
		self::getStatus();
	}

	protected static function getStatus(){
		echo 'Person';
	}
}

class Men extends Person {
	public static function getStatus(){
		echo 'Men';
	}
}
Men::status(); // Person

self 寫(xiě)在 Person 類中,所以調(diào)用的是 Person 類中的getStatus()方法,輸出 Person。

3、static也是指類本身
static 和 self 不同,是那個(gè)類調(diào)用該方法static就表示那個(gè)類。

<?php
class Person {
	public static function status(){
		static::getStatus();
	}

	protected static function getStatus(){
		echo 'Person';
	}
}

class Men extends Person {
	public static function getStatus(){
		echo 'Men';
	}
}
Men::status(); // Men

由于 Men 類調(diào)用了方法,static 就是 Men類,所以輸出的是 Men,即調(diào)用了 Men 類的 getStatus()方法。

原文鏈接:https://blog.csdn.net/weixin_44888397/article/details/114447234

  • 上一篇:沒(méi)有了
  • 下一篇:沒(méi)有了
欄目分類
最近更新