我正在處理一個簡單的問題以表示具有層次結構的幾種類型。有一個數據行包含一些數據,並且數據可能因行的類型而異。一個簡單的行可能只有一個標題和日期,而一個擴展行可能包含標題,描述,日期和圖像。我對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