2011-05-06 75 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不允许声明静态类。

要调用静态方法,您必须使用::运算符。

相关问题