1

我很好奇获得 OOP 问题的答案,但到目前为止找不到任何信息。

在这里,编写类和方法是为每个方法传递参数或使用实例/字段变量和 $this->x 更快;

哪个在运行时更快?

class ExampleByParameter(){

 function SomeMethod($a,$b){
 echo $a." ".$b;
 return;
 }

}

或者

class ExampleByInstance(){

 function __construct($a,$b){
 $this->a=$a;
 $this->b=$b;
 }

 function SomeMehtod(){
 $a=$this->a;
 $b=$this->b;
 echo $a." ".$b;
 return;
 }

}

我想他们与上面的例子没有区别,但我认为更复杂的代码可能会有很大的不同。

4

1 回答 1

6

性能差异可以忽略不计。你真的应该决定哪种模式最适合你的班级结构。

您的班级是否依赖$a$b正常运行?将它们放在构造函数中。

SomeMethod公开的吗?除了返回的变量之外,它是否对提供的变量做任何事情?如果是这样,请将它们保留为参数。

在大型项目中,您将从准确的类设计中获得更多收益,而不是微不足道的性能改进。

于 2012-10-22T08:42:55.773 回答