2017-07-27 64 views
1

我正在研究我的書在C++中被稱爲「常量成員函數」。也就是說,不能改變類的任何屬性或調用其他非常量方法的函數。所以,我在C++中做了這段代碼。如何在PhP中創建const成員函數?

#include <iostream> 
#include <string> 

using namespace std; 


class Foo 
{ 
    string outra_coisa; 
    public: 
    void printa_algo(string algo) const; 
}; 

int main() 
{ 
    Foo tolo; 
    string alguma_coisa = "coisa_alguma"; 
    tolo.printa_algo(alguma_coisa); 

    return 0; 
} 

void Foo::printa_algo(string algo) const 
{ 
    cout << algo; 
} 

是否有可能做同樣的在PHP

+2

不,你不能在PHP中這樣做。 –

+0

@PaulCrovella謝謝你......但是,你確定嗎?沒有其他方法嗎? – BrunoVdutra

+2

你可以創建*不*做這些事情的方法,但不能*做不到*的方法。 –

回答

0

經過一番研究,我在書中看到,在PhP中創建這樣的功能是不可能的,至少不是微不足道的。

0

它在「編譯器」級別上的概念不完全相同,您可以創建不完全相同的靜態方法,但也應該「不更改任何類屬性或使用其實例」。

class Foo { 
    public static function bar() 
    { 
     return 'a static value'; 
    } 
} 
//Then to call it: 
Foo::bar();