我正在处理一个简单的问题,以代表几个等级结构的类别。 有一个数据流,包含一些数据,数据可能因行类型而异。 单行只有所有权和日期,而长行可能包含所有权、说明、日期和形象。 我对贾瓦特来说不是新鲜事,但却不明白,这足以向前迈进。 举一个简化的例子,就是我如何在 Java写:
interface Row {
View getView();
}
class BasicRow implements Row {
private String title;
private String description;
public BasicRow(String title, String description) {
this.title = title;
this.description = description;
}
public View getView() {
// return a View object with title and description
}
}
class ExtendedRow implements Row {
private String title;
private String description;
private Date date;
private Image image;
public ExtendedRow(String title, String description, Date date, Image image) {
this.title = title;
this.description = description;
this.date = date;
this.image = image;
}
public View getView() {
// return a View object with title
// description, date, and image
}
}
在这里,联络处的改进很少,例如从基本Row延伸到新领域,而只界定新领域,加上超越了收听方法。
Java字没有接口或抽象的课堂,我恐怕我 have不去思考。 因此,我如何能够在有基类或接口的贾瓦特实施上述基本例子,以及两个从基类延伸的班级,每个班都有自己的具体行为。
任何要点都受到高度赞赏。