我正在处理一个简单的问题以表示具有层次结构的几种类型。有一个数据行包含一些数据,并且数据可能因行的类型而异。一个简单的行可能只有一个标题和日期,而一个扩展行可能包含标题,描述,日期和图像。我对Javascript并不陌生,但对于继续前进的理解并不了解。举一个简单的例子,这里是我会怎么用Java编写:Javascript中的继承
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
}
}
有迹象表明,可以在这里完成,如从BasicRow延伸ExtendedRow只有定义新字段以及压倒一切的getView方法很少OO改进。
Javascript没有接口或抽象类,恐怕我还没有下降到原型意义上的思考。那么我怎么能够像Javascript中的上述例子那样基本实现一些基本类或接口,以及从这个基类继承的两个类,每个类都有自己的特定行为。
任何指针,非常感谢。
这些都确实很棒。它确实需要思考的一个重大转变,我想我会一整天都在窃取小细节,但这些链接真的帮助消除了很多疑问 – Anurag 2010-01-08 14:21:41
很高兴为您解决了这个问题。当我第一次阅读这三篇文章时,我也有过相同的经历:) – roosteronacid 2010-01-08 15:35:47