我的一个类有一个包含Set的字段。该字段只填充到构造函数中,然后由其他类读取。本来我有这样的事情: public class Foo {
public final Set<String> myItems;
public Foo(Collection<String> theirItems) {
this.myItems = new LinkedHashSet<Stri
我想知道是否可以封装一个类的方法,但是然后暴露它们在一个消费类。例如(JFTR,我知道这个代码是错误的) class Consumer{
public function __construct($obj){
$this->obj = $obj;
}
public function doCommand(){
$this->obj->
很多人都知道这篇文章:more on getters and setters。我认为它描绘了吸气者/定居者的邪恶一面是令人信服的工作。我还通过尝试将现有项目(未完成)转换为没有getter/setter的代码来测试它。有效。代码可读性大大提高,代码更少,我甚至设法摆脱了我最初认为他们确实需要的getter/setter。除了一个地方。 将模型导入视图部分是我认为这种方法忽略了重点的地方。在文章中,
针对What is your longest-held programming assumption that turned out to be incorrect?问题,错误的假设之一是: 私有成员变量是 私有的实例,而不是 类。 (Link) 我没听清楚他在说什么,任何人都可以解释一下什么是错/右关于用一个例子?
同时保持不可知的客户端类(用于封装的原因) public enum MyEnum implements Commands{
A{
public int method1(int varY) {
return varY+2;
}
public MyEnum method2(){
return MyEnum.B;
问题我有范围和封装的通用问题。采取两种方案: 方案1: // a global application level constant
public static const IS_DEMO_MODE:Boolean = false;
... // somewhere deep in the codebase
private function _myFunction():void
{