gpt4 book ai didi

javascript - Javascript 中的继承

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:18 24 4
gpt4 key购买 nike

我正在研究一个简单的问题来表示一些具有层次结构的类型。有一个包含一些数据的数据行,数据可能因行类型而异。简单行可能只有标题和日期,而扩展行可能包含标题、描述、日期和图像。我不是 Javascript 的新手,但对它的理解还不够深入,无法继续。举一个简化的例子,下面是我将如何用 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
}
}

这里可以做的 OO 改进很少,例如从 BasicRow 扩展 ExtendedRow 并只定义新字段并覆盖 getView 方法。

Javascript 没有接口(interface)或抽象类,恐怕我还没有深入到原型(prototype)意义上的思考。那么,我如何才能在 Javascript 中实现与上面示例一样基本的东西,其中有一个基类或一个接口(interface),以及从该基类扩展的两个类,每个类都有自己的特定行为。

非常感谢任何指点。

最佳答案

看看 Douglas Crockford 的文章:

Douglas Crockford is a senior JavaScript architect at Yahoo! He is well known for his work in introducing JavaScript Object Notation (JSON) - Wikipedia

这些文章是必读,我相信它们会帮助您了解如何构建对象。

关于javascript - Javascript 中的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com