Frage

Ist es möglich, mehrere Klassen zu haben, die erben / dieselbe Klasse in Google App Engine mit Java (GAE / J) für meine Entitäten (JDO) erstreckt. Zum Beispiel habe ich:

  
      
  • Inhalt (Abstract Klasse)
  •   
  • Kurs
  •   

und dann wird mein Kurs hat:

  
      
  • Liste von Video, das erweitert Inhalt ist
  •   
  • Liste der Bücher
  •   

Zur gleichen Zeit

  
      
  • Video hat Liste der Tags
  •   
  • Buch hat Liste der Tags
  •   
  • Kurs hat Liste der Tags
  •   

Ist es möglich, es GAE zu tun?

Ich mache ähnlich wie diese, aber so viele Probleme. Gibt es Beispiele für diese Art von Sachen?

War es hilfreich?

Lösung

Update auf der Grundlage neuer Frage Titel

Ich verstehe immer noch nicht, was Ihr Problem ist, aber ich gebe ihm einen Schuss

Ihre Frage ist

  

Ist es möglich, habe mehr   Klassen, die erben / erstreckt gleiche   Klasse in Google App Engine mit Java   (GAE / J) für meine Entitäten

Die Antwort ist ja, warum nicht? Ich habe nichts in Frage sehen, die nicht getan werden kann. Welches Problem haben Sie?

  

Ich mache ähnlich wie diese, aber mit   so viel Probleme. Gibt es irgendwelche   Beispiele für diese Art von Sachen?   Wie werden Sie es genau zu tun, weil ich nichts falsch mit der Beschreibung sehen Sie auf dem Laufenden.

und nur um Ihnen zu helfen, hier ist eine Möglichkeit, es kann getan werden,

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 
} 

Andere Tipps

Ich werde einen Schuss im Dunkeln nehmen hier auf das, was Sie erwähnt haben:

  • Legen Sie die Tag-Liste in Inhalt zusammen mit Management-Methoden
  • Video, Bücher und Kurs kann alle erweitern Inhalt (nicht sicher, ob dies Sinn im Design macht)
  • Kurs kann Liste des Videos enthält und Bücher.
  • Alle Liste der Tags haben

Wie ich schon erwähnt, kann dies nicht logischen Sinn in Ihrem Design machen, aber ohne weitere Informationen, kann ich nicht sagen.

Es scheint, die meisten der Klassenbeziehungen sollten Sie Instanzen der Zusammensetzung sein erwähnen anstatt Vererbung. Sie können mehrere Implementierungsvererbung in Java nicht tun, aber Sie können mehrere Schnittstellen implementieren. Zusammensetzung nicht über diese Grenzen haben und ein Objekt Verweise auf andere Objekte (Zusammensetzung) unterschiedlicher (Mehrfach-) Klassen enthalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top