2011-05-06 131 views
1

我想我的問題是會靜態類和靜態類方法中的方法是否具有相同的callabilty?

static class example1{ 
    function example1_function(){};  
} 

class example2{ 
    static function example2_function(){}; 
} 

導致同樣的結果,這既是example1->example1_function()example2->example2_function()具有相同的callabilty。都將被定義爲靜態的和可用的?

+1

的'靜態class'和'類class'會導致解析錯誤。 – mario 2011-05-06 21:31:29

+0

看看這個:[鏈接](http://stackoverflow.com/questions/468642/is-it-possible-to-create-static-classes-in-php-like-in-c) – Damien 2011-05-06 21:31:40

回答

2

你不能聲明一個類是一個靜態類,如這裏的其他成員說,但有一個方法,你可以成爲一個物體停止類,你可以使用abstract關鍵字指定對象不應該使用new關鍵字進行實例化,這是很好的繼承等

abstract class Something 
{ 
} 

new Something會引發一個錯誤,說明你不能實例化類,那麼你可以聲明像這樣的靜態方法:

abstract class Something 
{ 
    public static function Else() 
    { 
    } 
} 

您仍然必須聲明方法爲static,這只是它的方式。

,然後你可以使用像這樣:

Something::Else(); 

希望這澄清了一些事情的

+0

反對函數Else()'? (不在一個班級) – 2011-05-06 21:41:32

+0

請解釋你的評論,它不明白你指的是什麼? – RobertPitt 2011-05-06 21:44:20

+0

爲什麼要創建一個所有靜態方法的類,而不僅僅是爲這些方法編寫函數? – 2011-05-06 22:08:20

3

PHP不允許聲明靜態類。

要調用靜態方法,您必須使用::運算符。

相關問題