使用Getter方法与同一类中的字段

时间:2014-01-13 03:51:28

标签: oop coding-style refactoring standards

这个问题是为了解决是否存在性能差异,或者在单独的方法中,如果在类中调用 Getter方法与引用特定字段之间存在一般标准。使用Java作为示例语言......

public class Person {
   String firstName = "";
   String lastName = "";

   // Insert Constructor

   public String getFirstName() { return firstName; }
   public String getLastName() { return lastName; }

   @Override public String toString() {

      return "First Name: " + getFirstName() + "\nLast Name: " + getLastName());
      // OR
      return "First Name: " + firstName + "\nLast Name: " + lastName);
   }

}

它可能看起来很小但我总是想知道在类中调用getter方法的方法是否是该机器的额外工作。有人知道一个电话对另一个电话有影响吗?

1 个答案:

答案 0 :(得分:1)

这取决于。它取决于语言以及该语言是否在优化的虚拟机上运行。如果您使用基于JVM的语言,使用标准的Oracle JVM,那么在几次方法调用之后,函数开销将被优化掉。

那就是说,如果你要用继承做这样的事情,那么我建议总是使用“getter”,以便覆盖尊重子类可能带来的字段的新视图。