相关疑难解决方法(0)

Java中的public,protected,package-private和private有什么区别?

在Java中,有没有关于何时使用每个访问修饰符,即默认明确的规则(包私有)public,protected并且private,同时使classinterface和处理继承?

java private protected public access-modifiers

3004
推荐指数
24
解决办法
201万
查看次数

是否总是使用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
查看次数

在Ruby中访问对象中的实例变量的常规方法是什么?

请考虑以下代码:

class Dog
  attr_accessor :name, :color

  def initialize(name, color)
  end
end
Run Code Online (Sandbox Code Playgroud)

在Ruby对象中,是直接访问实例变量(即@name = name)还是使用setter/getter方法(即name = name)的约定?

前者对我来说更清楚,但如果你实现自己的setter/getter方法(例如同时增加一个类变量),那么你最终必须使用两种方法(即@name = name ; color = color).

Ruby社区中的惯例是什么?我应该如何编写代码以便将其他人阅读?

ruby conventions instance-variables

1
推荐指数
1
解决办法
572
查看次数