getter方法的必要性

Fir*_*iew 9 java

可能重复:
为什么要使用getter和setter?

这是一个新手问题.是否非常有必要使用getmethods来访问属性值?分配值后,可以获取值目录.例如,在下面的代码中,displayName()可以显示firstName值而无需任何getter方法的帮助.或者它是一个标准的编码标准,必须有getter和setter方法或任何其他方法给出该值?

class Test{

    private String firstName;

    public void setName(String fname){
        firstName = fname;
    }

    public void displayName() {
        System.out.println("Your name is " + firstName);
    }
}          
Run Code Online (Sandbox Code Playgroud)

Jef*_*ter 12

告诉,不要问是面向对象设计中的一个重要原则.一般来说,你应该告诉对象做事而不是问他们问题.每个地方都会阻止这种做法,因为鼓励你到达一个物体内部并进入田地(或者更糟糕的是伸手可及的东西,并且在制定者的情况下捅东西).这打破了封装并使您的代码更难以推理.

在您的特定情况下,我将创建一个名为的对象Name,其中包含一个采用名称的构造函数和单个方法来显示它.