Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对象方法和静态方法的区别_Php_Php 5.3 - Fatal编程技术网

Php 对象方法和静态方法的区别

Php 对象方法和静态方法的区别,php,php-5.3,Php,Php 5.3,静态方法和对象方法之间有什么区别?它们在何处以及为什么使用不同?什么时候使用这些方法中的哪一种?静态方法在内存空间中只实例化一次 实例方法需要调用类的实例。实例引用可以被看作是一个不可见的第一个参数,它可以在方法中使用C、C++和java中的“这个”关键字访问。可以在没有类实例的情况下调用静态方法。只有作为参数传入时,它们才能访问类的实例 一般来说,当实例方法对单个实例执行某些操作时,请使用实例方法。当方法在多个实例上执行操作或不需要实例时,请使用静态方法。对于对象方法,您需要实例化类才能使用该

静态方法和对象方法之间有什么区别?它们在何处以及为什么使用不同?什么时候使用这些方法中的哪一种?

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

实例方法需要调用类的实例。实例引用可以被看作是一个不可见的第一个参数,它可以在方法中使用C、C++和java中的“这个”关键字访问。可以在没有类实例的情况下调用静态方法。只有作为参数传入时,它们才能访问类的实例


一般来说,当实例方法对单个实例执行某些操作时,请使用实例方法。当方法在多个实例上执行操作或不需要实例时,请使用静态方法。

对于对象方法,您需要实例化类才能使用该方法,也就是说,巴克是一个对象方法

狗我的狗=新狗(); myDog.Bark()

但是现在让我们假设树皮是一种静态的方法。我可以这样做: 狗吠()

因此,静态方法作用于类,而不是对象

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

对此非常简单。但是《PHP5 Power编程》一书中对静态的
进行了很好的解释:

  • (向下滚动至此处的singleton部分)