【发布时间】:2011-05-29 03:45:49
【问题描述】:
假设 const 属性自动公开,我是否正确?有没有办法将它们设为私有或受保护?
提前致谢。
【问题讨论】:
-
隐藏它们的原因是什么?即使它们是公开的 - 它们也是只读的。
-
常量是公开的,因为它们描述的是关于类的不可变事实,而不是状态或它。所以隐藏它们没有任何价值。
-
可能会在未来的版本中使用
__getStatic伪造它们。一般来说,在脚本语言中是否需要访问修饰符是值得怀疑的。 (Javascript/Python 更加面向对象,不需要它们。) -
我认为这根本不是一个愚蠢的问题;私有类常量很有用:对于类中的内部使用......公共方法可以使用它们,但外部代码不应该依赖它们......API可能会改变。
-
好吧,如果你想创建一个数据库类,将主机、用户名、服务器、数据库声明为私有常量是有意义的吗?