相关疑难解决方法(0)

为什么要使用getter和setter/accessors?

使用getter和setter的优点是什么 - 只能获取和设置 - 而不是简单地使用公共字段来存储这些变量?

如果getter和setter做的不仅仅是简单的get/set,我可以非常快地解决这个问题,但我并不是100%清楚如何:

public String foo;
Run Code Online (Sandbox Code Playgroud)

更糟糕的是:

private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }
Run Code Online (Sandbox Code Playgroud)

而前者需要很少的样板代码.

java oop getter setter abstraction

1472
推荐指数
26
解决办法
37万
查看次数

getter方法的必要性

可能重复:
为什么要使用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)

java

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

为什么要封装这个字段?

我总是被告知从类中封装任何和所有属性......

这是正确的:

private string propertyName;
public string PropertyName
{
    get { return propertyName; }
    set { propertyName = value; }
}
Run Code Online (Sandbox Code Playgroud)

这是错的

Public string PropertyName;
Run Code Online (Sandbox Code Playgroud)

我看不出需要封装的地方......对我来说,第一个代码就是无用的冗余代码......不需要封装那个字段......

因此,如果任何人都可以证明这个场景的封装是正确的.(我可以理解其他情况).

c# oop standards encapsulation coding-style

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

自动生成Get&Set方法?

我认为可以自动生成持有者类,只有attritutes的类,获取方法和set方法.我知道Eclipse现在是一个事实上的"标准"Java IDE.Eclipse会这样做吗?做其他IDE吗?

我猜测制作专用数据保持类而不是使用HashMaps的唯一原因是以更加可见/更好的方式使用混合数据类型,以及在插入或检索数据时想要对数据执行某些操作的情况.思考?

java

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

标签 统计

java ×3

oop ×2

abstraction ×1

c# ×1

coding-style ×1

encapsulation ×1

getter ×1

setter ×1

standards ×1