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 に答える