2

对于我的实体(JDO),是否有可能使用 Java(GAE/J)在 Google AppEngine 中继承/扩展同一类的多个类。例如我有:

  • 内容(抽象类)
  • 课程

然后我的课程将有:

  • 扩展内容的视频列表
  • 书籍清单

同时

  • 视频有标签列表
  • 书有标签列表
  • 课程有标签列表

有可能做GAE吗?

我正在做类似的事情,但有很多问题。有这种东西的例子吗?

4

3 回答 3

2

根据您提到的内容,我将在这里暗中拍摄:

  • 将标签列表与管理方法一起放在 Content 中
  • 视频、书籍和课程都可以扩展内容(不确定这在设计中是否有意义)
  • 课程可以包含视频和书籍列表。
  • 所有人都会有标签列表

就像我提到的那样,这在您的设计中可能没有逻辑意义,但如果没有更多信息,我无法判断。

于 2009-07-08T22:59:35.617 回答
1

根据新问题标题更新

我仍然不明白你的困难是什么,但我会试一试

你的问题是

是否有可能在我的实体中使用 Java (GAE/J) 在 Google AppEngine 中继承/扩展同一类的多个类

答案是肯定的,为什么不呢?我在你的问题中没有看到任何无法完成的事情。你有什么问题?

我正在做类似的事情,但有很多问题。有这种东西的例子吗?你到底是怎么做的,因为我看不出你发布的描述有什么问题。

只是为了帮助你,这是可以做到的一种方法,

interface Tagable {
 public doSomeThingWithTagList(); 
} 

class abstract Content implements Tagable {
 List<Tag> tagList; 
} 

class Video extend Content implements Tagable {
} 

class Book Tagable{ 
 List<Tag> tagList; 
} 

class Course Tagable {
   List<Video> videoList;
   List<Books> bookList;
   List<Tag> tagList 
} 
于 2009-07-08T22:50:55.293 回答
1

您提到的大多数类关系似乎应该是组合实例而不是继承。您不能在 Java 中进行多重实现继承,但可以实现多个接口。组合没有这些限制,一个对象可以包含对不同(多个)类的其他对象(组合)的引用。

于 2009-07-08T23:01:51.387 回答