我是新来的。我想问一个问题:如何将常量添加到另一个类中?这是我的类它包含了常量:
class MyClass1 {
const CONSTANT_FOO;
}
这个类将为MyClass1
类添加一个新的常量:
class MyClass2 {
//what would I put here?
}
如何添加一个常量到另一个类?
简短的回答是:你不能在另一个类中添加常量。
然而,正如它们的名字所示,常量只是在程序执行期间不会改变的值的名称。这可能就是为什么它们都是公开的,它们的可见性不能被限制的原因。
它们都是公共的,使用define()
创建的全局常量和类常量的唯一区别是创建和访问时的语法。
对你的问题的完整答案是:你不能在运行时(从另一个类的代码甚至从类本身的代码)向类添加常量,但你也不需要它。把define()
作为常量或者在另一个类中声明为const
就足够了。
向类中添加常量的唯一方法是修改类的定义(当然是使用编辑器)。
常量是不应该在运行时修改的东西。顾名思义,这意味着是一个CONSTANT
。您可以使用类变量实现相同的目的。
- 在MyClass1中声明一个类变量
- 在MyClass2中实例化MyClass1
- 将所需值设置为所创建对象中的变量。
- 你可以进一步使用这个对象,它实际上有你分配的值。
为了使它更好,您可以在MyClass1中使用setter和getter方法,或者在PHP中使用魔法方法。