对象和静态方法之间的区别

时间:2010-06-07 23:05:37

标签: php php-5.3

静态和对象方法有什么区别?它们在何处以及为何使用不同?我什么时候使用哪一个?

4 个答案:

答案 0 :(得分:1)

使用对象方法,您需要实例化该类才能使用该方法,所以说Bark是一个对象方法

Dog myDog = new Dog(); myDog.Bark();

但现在让我们说Bark是一种静态的方法。我可以这样做: Dog.Bark();

因此静态方法适用于类,而不适用于对象。

当您想要创建一个全局实用程序类时,静态方法很有用。这样,您不需要传递对象只是为了在此实用程序类上使用方法。

答案 1 :(得分:0)

静态方法仅在内存空间中实例化一次。

答案 2 :(得分:0)

实例方法需要调用类的实例。实例引用可以被认为是一个不可见的第一个参数,可以使用C#,C ++和Java中的'this'关键字在方法中访问它。可以在没有类实例的情况下调用静态方法。如果它们作为参数传入,它们只能访问该类的实例。

作为一般经验法则,当方法对单个实例执行某些操作时,请使用实例方法。当方法对多个实例执行操作或不需要实例时,请使用静态方法。

答案 3 :(得分:0)

PHP manual对此非常简短。但是在{PHP 5 Power Programming“一书中很好地解释了static