假设您创建了一个名为Album的类和一个名为Song的类。您希望Album对象能够使用Song对象中存储的字段(例如,歌曲的文件大小或运行时)。你需要做些什么来实现这一目标?
我已经尝试将Song中的字段更改为public而不是private,但这没有用。说实话,我是OOP的新手,我觉得我忽略了一些非常重要的东西。
答案 0 :(得分:1)
字段必须是私有的 这就是为什么你可以创建访问器 getter and setters
参见示例:
Adding Setter and Getter Methods
要使托管bean的状态可访问,您需要为该状态添加setter和getter方法。 一旦添加了setter和getter方法,bean就完成了。最终代码如下所示:
public class Printer {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
答案 1 :(得分:0)
三种方式:
一般来说,我更倾向于让物品倾向于自己编织"越多越好。为此,如果有意义的话,我总是会尝试处理拥有它的类中的数据。在这种情况下,Album将歌曲数据组合成一些可呈现的形式是有意义的,因此我建议在歌曲类中使用getter来提供访问权限,例如:
public int getFileSize(){
return fileSize;
}
public String getName(){
return name;
}
然后专辑可以把它们放在一起但是它喜欢。
答案 2 :(得分:0)
首先,专辑会包含一系列歌曲。
例如:
public class Album
{
private List <Song> songs;
public Album ()
{
songs = new ArrayList <Song>();
}
}
Song会有getName()
和getLength()
之类的公共方法,允许Album
对象访问它们。
例如:
public int totalLength ()
{
int length = 0;
for (Song song : songs)
length += song.getLength();
return length;
}