2017-09-22 40 views
0

只需開始感受PHP中類和方法(面向對象編程)的真正用處。然而,我仍然缺乏理解和經驗以正確的方式聲明方法和變量。我在PHP中聲明瞭哪些靜態方法/變量?

我應該聲明一個方法/變量靜態VS聲明它是非靜態的什麼情況下?我問自己回答這個問題有哪些問題?

+0

您是否完成了任何研究?一個好的開始是尋找類似_「什麼時候應該在PHP中使用靜態方法」_。首先命中是一個SO帖子:https://stackoverflow.com/questions/33705976/when-should-i-use-static-methods –

+0

@MagnusEriksson我有!但是,從某種意義上說,我確實看到了不同之處,例如,您可以直接調用靜態方法而不創建實例。但是,這只是爲了保存一行代碼? '$ myClass = new myClass(); $ myClass-> method();'vs只調用方法'myClass :: method()'' – OnklMaps

+0

不,不僅僅是這樣。有很多不同,就像我鏈接到的解釋。 –

回答

1

靜態意味着您可以在不首先創建類的實例的情況下訪問函數。這使它很像一個正常的功能。如果您想將相關的功能組合在一起,但您不需要運行類的特定實例,則您傾向於使功能處於靜態。

非靜態成員需要該類的一個實例。通常你會使用這個。

如果我們有一個Circle類並且它有函數區(),那麼它將是非靜態的,因爲它需要一個特定的圓來查找區域。現在想象我們有一個帶有printBold()函數的PrintText類。我們不需要實例,因爲它只依賴於輸入。但是,由於我們可以使用printBold(),printItalics()等,因此可以方便地使用PrintText類。