我已经看过将常量传递给方法的类,我想它是在该函数中定义某种设置的。我现在无法在任何地方找到它来试图找出逻辑,所以我可以问这里。您如何以及为何使用此概念,我在哪里可以找到有关它的更多信息?
下面的示例是用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”更明确,但这是传递常数的唯一原因吗?
答案 0 :(得分:1)
简单地传递1并没有多说。通过使用常量,您可以对名称中的设置进行描述。
例如: 常数RAIN = 1;
方法setWeather(RAIN);
至少我是如何以及为何使用它。
答案 1 :(得分:1)
避免传递文字总是一个好主意。通过分配名称,阅读代码的任何人都有机会理解该值的含义 - 数字没有任何意义。它也可以帮助您维护代码:如果某些要求必须更改值,您可以在一个地方轻松完成,而不是检查每个值的出现。