溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php能不能私有靜態(tài)方法

發(fā)布時(shí)間:2021-06-03 12:51:10 來(lái)源:億速云 閱讀:173 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了php能不能私有靜態(tài)方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

php可以私有靜態(tài)方法。靜態(tài)私有方法提供了一種從類(lèi)外部隱藏靜態(tài)代碼的方法;如果幾種不同的方法(靜態(tài)或非靜態(tài))需要使用它,即代碼重用,這可能是有用的。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

我明白靜態(tài)意味著一個(gè)對(duì)象不需要被實(shí)例化為該屬性/方法可用。我也明白,這適用于私有財(cái)產(chǎn)和方法以及公共方法。我想知道的是什么是靜態(tài)私有功能可以讓你獲益。例如:

class Beer {
    static private $beertype = "IPA";
    private function getBeerType() {
            return self::$beertype;
    }
    static public function BeerInfo() {
            return self::getBeerType();
    }
}
print Beer::BeerInfo() . "\n";

只要從靜態(tài)公共方法中調(diào)用getBeerType(),私有方法就會(huì)執(zhí)行得很好,沒(méi)有實(shí)例化的對(duì)象。如果靜態(tài)公共方法可以訪問(wèn)所有私有方法(靜態(tài)和非靜態(tài)),那么聲明方法static private的好處是什么?

在嚴(yán)格的錯(cuò)誤報(bào)告打開(kāi)的情況下,我確實(shí)得到了我應(yīng)該使getBeerType()靜態(tài)的警告,盡管它仍然允許我運(yùn)行代碼。我做了一些研究,似乎其他語(yǔ)言(Java)將強(qiáng)制您在靜態(tài)公共方法調(diào)用時(shí)將私有方法聲明為靜態(tài)方法??雌饋?lái)像PHP讓你擺脫這一點(diǎn)。有沒(méi)有辦法強(qiáng)制它拋出錯(cuò)誤而不執(zhí)行?

靜態(tài)私有方法提供了一種從類(lèi)外部隱藏靜態(tài)代碼的方法。如果幾種不同的方法(靜態(tài)或非靜態(tài))需要使用它,即代碼重用,這可能是有用的。

靜態(tài)方法和靜態(tài)變量(有時(shí)稱(chēng)為類(lèi)方法和類(lèi)變量)是將代碼和數(shù)據(jù)放入一種命名空間的一種方式。您也可以將類(lèi)變量視為附加到類(lèi)本身的變量,其中(根據(jù)定義)只有一個(gè),而不是該類(lèi)的實(shí)例,其中可能有零個(gè),一個(gè)或多個(gè)。類(lèi)方法和類(lèi)變量可用于處理不僅在所有實(shí)例中保持相同但與實(shí)際相同的屬性。

類(lèi)變量的一個(gè)示例是ORM實(shí)體對(duì)象中的數(shù)據(jù)庫(kù)處理程序。所有實(shí)例都是自己的對(duì)象,但是他們都需要訪問(wèn)相同的數(shù)據(jù)庫(kù)處理程序來(lái)加載和保存自身。

私人與公眾是一個(gè)完全獨(dú)立的品質(zhì),我懷疑你在絆倒什么。私有方法不能被調(diào)用,私有變量不能從類(lèi)之外的代碼訪問(wèn)。私有方法通常用于在對(duì)象外部不能訪問(wèn)的對(duì)象上實(shí)現(xiàn)“內(nèi)部”邏輯。這種限制可以通過(guò)實(shí)例方法和類(lèi)方法來(lái)實(shí)現(xiàn)。

私有類(lèi)方法的示例可以是工廠方法??赡苡腥齻€(gè)工廠調(diào)用來(lái)創(chuàng)建可能在提供的參數(shù)方面不同的對(duì)象。但大部分操作是一樣的。所以它進(jìn)入非私有工廠方法調(diào)用的私有靜態(tài)方法。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“php能不能私有靜態(tài)方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI