设计getter和setter的最佳方法是什么?为什么?

时间:2015-12-17 00:29:32

标签: java oop getter-setter

我想知道写getter和setter的最佳方法是什么?

我们应该检查吸气剂的状况还是我们应该在孵化器中进行检查?

这样做的标准程序是什么?为什么?

假设我有一个类产品:(这只是一个例子,只询问设计getter和setter的方法)

 .mobile{display: none}
@media (max-width: 600px){
  .mobile{display: inline;}
  .desktop{display: none;}
}

2 个答案:

答案 0 :(得分:3)

在二传手中。在吸气器中为时已晚。尽快抓住错误。并且使成为错误,而不仅仅是“我不知道”的情况:你永远不应该让对象进入无效状态。

paper-input

答案 1 :(得分:2)

建议:

public class Product {
  private String productName;

  public Product(String productName) {
    this.productName = productName;
  }

  public String getProductName() {
    return this.productName;
  }

  public void setProductName(String productName) {
    this.productname = productName;
  }

理由:

  1. 一般来说,会员数据应该是私人的(EX:"私人字符串productName")

  2. 如果"局外人"需要阅读一个成员,提供一个getter方法。

  3. 如果"局外人"需要修改一个成员,提供一个"设置"方法。将验证代码添加到您的setter是合适的。如果验证失败,抛出异常通常是一种好习惯。

  4. 通常,如果可以在构造函数中初始化某些内容,那么应该。更具体地说,"构造函数"是建立" invariant conditions"为了上课。

  5. '希望有所帮助!

    注意:

    • 如果你正在编写Java Bean,你可能需要一个" no args"构造函数。在这种情况下,添加" init()"替换上述构造函数的方法。

    • 一次初始化多个成员非常合适 - 无论是在构造函数中,还是在自定义" init()"中。