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);

对我来说,传递“ExampleClass::EXAMPLE_CONST_1”比传递“1”更清楚,但这是传递常量的唯一原因吗?

4

2 回答 2

1

简单地通过 1 并不能说明什么。通过拥有一个常量,您可以对名称中的设置进行描述。

例如:常数 RAIN = 1;

方法 setWeather(RAIN);

至少这就是我使用它的方式和原因。

于 2012-09-12T09:04:23.253 回答
1

避免传递文字总是一个好主意。通过指定名称,任何阅读您的代码的人都有机会理解该值的含义——数字没有意义。它还可以帮助您维护代码:如果出于某些要求必须更改值,您可以轻松地在一个地方完成,而不是检查每个值的出现。

于 2012-09-12T09:05:54.583 回答