0

定数がメソッドに渡されるクラスを見てきましたが、その関数で何らかの設定を定義するために行われたと思います。ロジックを見つけようとしても今はどこにも見つからないので、ここで質問できます。この概念をどのように、またなぜ使用するのですか? 詳細情報はどこで入手できますか?

以下の例は PHP で書かれていますが、定数を扱う言語なら何でもいいと思います。

// Declaring class
class ExampleClass{
  const EXAMPLE_CONST_1 = 0;
  const EXAMPLE_CONST_2 = 1;  

  function example_method($constant(?)){

     if($constant == ExampleClass::EXAMPLE_CONST_1)
       // do this
     else if($constant == ExampleClass::EXAMPLE_CONST_2)
       // do that

  }
}

// Using class
$inst = new ExampleClass();
$inst->example_method(ExampleClass::EXAMPLE_CONST_1);

私には、「1」を渡すよりも「ExampleClass::EXAMPLE_CONST_1」を渡す方が明確ですが、定数を渡す唯一の理由はそれだけですか?

4

2 に答える 2

1

単に 1 を渡すだけでは、あまり意味がありません。定数を持つことで、名前に設定に関する説明を含めることができます。

例: 定数 RAIN = 1;

メソッド setWeather(RAIN);

少なくともそれが私がそれを使用する方法と理由です。

于 2012-09-12T09:04:23.253 に答える
1

リテラルが渡されるのを避けることは常に良い考えです。nameを割り当てることにより、コードを読む人は誰でもその値が何を意味するかを理解できるようになります。数字には意味がありません。また、コードの保守にも役立つ場合があります。何らかの要件で値を変更する必要がある場合は、すべての値の出現をチェックする代わりに、1 か所で簡単に変更できます。

于 2012-09-12T09:05:54.583 に答える