Pregunta

¿Es posible tener varias clases que hereden/extiendan la misma clase en Google AppEngine con Java (GAE/J) para mis entidades (JDO)?Por ejemplo tengo:

  • Contenido (clase abstracta)
  • Curso

y luego mi Curso tendrá:

  • Lista de vídeos que amplían el contenido.
  • lista de libros

Al mismo tiempo

  • El vídeo tiene una lista de etiquetas.
  • El libro tiene una lista de etiquetas.
  • El curso tiene una lista de etiquetas

¿Es posible hacerlo GAE?

Estoy haciendo algo similar a esto pero tengo muchos problemas.¿Hay algún ejemplo de este tipo de cosas?

¿Fue útil?

Solución

Actualización basada en el nuevo título de la pregunta

Todavía no entiendo cuál es tu dificultad, pero lo intentaré.

Tu pregunta es

¿Es posible tener múltiples clases que hereden/extiendan la misma clase en Google Appengine con Java (Gae/J) para mis entidades

La respuesta es sí, ¿por qué no?No veo nada en tu pregunta que no se pueda hacer.¿Qué problema estás teniendo?

Estoy similar a esto, pero tengo tantos problemas.¿Hay algún ejemplo de este tipo de cosas?¿Cómo lo haces exactamente? No veo nada malo en la descripción que publicaste.

y solo para ayudarte, aquí tienes una forma de hacerlo:

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 
} 

Otros consejos

Voy a tomar un tiro en la oscuridad aquí basado en lo que usted ha mencionado:

  • Poner la lista de etiquetas de contenido junto con los métodos de gestión
  • vídeo, libros, y todo se puede extender Curso contenido (no sé si esto tiene sentido en el diseño)
  • Curso puede contener Lista de vídeo y libros.
  • Todos tendrán lista de etiquetas

Como he mencionado, esto puede no tener sentido lógico en su diseño, pero sin más información, no se puede decir.

Parece que la mayoría de las relaciones de clase que cabe destacar los casos de composición en lugar de herencia. No se puede hacer herencia múltiple aplicación en Java, pero se puede implementar múltiples interfaces. Composición no tiene estos límites y un objeto puede contener referencias a otros objetos (composición) de diferentes (múltiples) clases.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top