嗨,我对OOP有点新手,我只是有一个简单的问题:说我在一个声明为类的类中有一个函数
class House
{
public static function hasAlcohol()
{
// Do Something
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以称之为
House::hasAlcohol()
Run Code Online (Sandbox Code Playgroud)
但是,我还想知道它是否可以使用编码标准和PHP,如果从一个房子的实例调用hasAlcohol()是没有错误的(我试过它并且没有错误),例如
$house = new House();
$house->hasAlcohol();
Run Code Online (Sandbox Code Playgroud)
因为这在过去给我带来了一些问题: 是的,它是有效的代码.你应该这样做吗?不.它给人的印象是,呼叫是非静态的,并且很可能会让以后处理代码的人感到悲伤.没有理由让你的代码含糊不清.
这曾经是可能的,但如果我没记错的话,最新版本的PHP会抛出错误.你应该静态调用静态函数.你可以这样做$house::hasAlcohol().
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |