相关疑难解决方法(0)

是否总是使用get和set方法来访问类自己的成员字段?

在Java类中,使用getter和setter访问成员字段是不是很好或者不好?

比如哪个更好:

public Order {
    private Agreement agreement;

    public Agreement getAgreement() {
    return agreement;
    } 

    public void process() {
       //should I use:
       getAgreement().doSomething();
       //Or:
       agreement.doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

一般来说,我认为直接访问该字段最好是由于KISS原则,并且有人可能会在以后使用不可预测的结果覆盖get方法.

然而,我的同事认为保留一层抽象更好.对此有何共识?

java anti-patterns

8
推荐指数
3
解决办法
2164
查看次数

在类中为自己的字段使用getter/setter有什么好处吗?

通常,在我自己的项目中,我使用getter和setter进行任何字段访问,然后我按照我的工作做同样的事情.前段时间,我们项目的技术负责人问我为什么这样做,为什么这比仅仅使用字段本身更好(如果需要通过子类访问,可以选择声明它们受保护).我无法得出一个明确的答案.

那么,是否有任何理由在类的自己的字段中使用getter和setter,或者直接使用字段是否更好?

java

6
推荐指数
2
解决办法
2126
查看次数

在内部使用属性有什么好处?

当从类外部访问成员时,封装显然是有用且必不可少的,但是当在内部引用类变量时,调用其私有成员或使用其getter更好吗?如果你的getter只是返回变量,那么性能是否存在差异

c# getter performance encapsulation properties

5
推荐指数
2
解决办法
722
查看次数