我正在准备考试准备,我在这篇帖子的底部遇到了一个问题。它涉及Wrapper方法Vs Wrapper类。这里有区别吗?据我所知,包装类允许将基元包装在对象中,以便它们可以包含在集合之类的东西中。包装类还有一堆实用程序方法,允许转换为字符串对象和从字符串对象转换。我在下面有一个问题,询问包装器方法并将它们与getter / setter方法联系起来。我是否认为set wrapper方法只是将一个原语包装在一个对象中,或者它是在做一些不同的东西?
什么是包装方法以及何时有用?
在City类中编写set / get包装器方法,允许直接访问其位置的每个属性,纬度和经度。例如,setLatitude:
class City {
//...
public void setLatitude(double value)
{
location.setLat(value);
}
//your code:
}
答案 0 :(得分:1)
包装类是一个扩展某个类或基元的可用性的类。例如,参加这个课程:
public class NewBoolean{
private boolean value = false;
public NewBoolean(boolean state) {
value = state;
}
public boolean value() {
return value;
}
public void setValue(boolean value) {
this.value = value;
}
public boolean isTrue() {
return value;
}
public boolean isFalse() {
return !value;
}
public boolean compare(boolean anotherBoolean){
return value==anotherBoolean;
}
}
它可以替换任何boolean
值,并且具有可以扩展boolean
原语的可用性的新方法。
包装器方法可以引用包装器函数。 包装器方法只是调用其他方法的方法,例如,我们可能在类中使用这两个方法:
public void setFullScreen() { }
public void setWindowMode() { }
包装器方法可能是:
public void toggleFullScreen() {
if(fullscreen) {
setWindowMode();
}
else {
setFullScreen();
}
}
简而言之,一种调用类中已有的另一种方法的方法。另一个示例是setResolution(w,h);
和一个包装方法,调用setDefaultResolution()
,然后调用setResolution(DEFAULT_W,DEFAULT_H)
。
答案 1 :(得分:0)
我听说术语'包装类'被用作装饰器类的同义词(参见'decorator pattern'),它有更多的用法,然后只允许将原始类型插入到集合中