Inviato: Sab Set 16, 2006 2:15 pm Oggetto: [INGEGNERIA DEL SOFTWARE] [JAVA] Quesito di progettazione
Ciao a tutti!
Ho un problema di progettazione:
In un videogioco ho creato una classe principale Entity estesa da tutte le classi che hanno un'animazione (come la classe Nemico, PersonaggioPrincipale e la classe Bonus). Dovrei creare però diversi tipi di Oggetti Bonus: un tipo che rimane fisso sullo schermo (come le monete di "Mario Bros" per intenderci..) e l'altro tipo invece compare per un'intervallo di tempo (inversamente proporzionale al suo punteggio) e poi sparisce.
Io ho creato questo tipo di progettazione con 1 sola classe Bonus che estende Entity differenziando gli oggetti Bonus alla creazione, nel costruttore, in questo modo:
Codice:
public Bonus(Game game, String riferimento_Immagine, Map map, float x, float y, char type)
{
super(riferimento_Immagine, map, x, y, type);
this.game = game;
this.tipo = type;
Non mi sembra molto corretto come stile i progettazione questa prima soluzione che ho implementato..Secondo voi sarebbe meglio fare un'interfaccia Bonus che estende la classe Entity e poi creare classi differenti per ogni oggetto Bonus che implementino l'interfaccia, oppure creare direttamente classi differenziate per ogni oggetto Bonus, ciascuna che estende la Classe Entity?? _________________ Slackware 10.2 - Kernel 2.6.16
A livello di progettazione, nel tuo caso, è più corretto creare un'interfaccia bonus che estende la entity e poi estenderla a sua volta per le diverse tipologie di bonus. _________________ G u A n O
A livello di progettazione, nel tuo caso, è più corretto creare un'interfaccia bonus che estende la entity e poi estenderla a sua volta per le diverse tipologie di bonus.
Dato che per l'ereditarieta' multipla non si possono usare le Interfacce in Java (un'interfaccia non può estendere una classe), dovrei creare l'interfaccia Bonus con tutti i metodi che accomunano i diversi tipi di bonus e poi creo una classe per ogni tipo di bonus, ognuna di queste estende la classe Entity e implmenta l'interfaccia Bonus..Che te ne pare? _________________ Slackware 10.2 - Kernel 2.6.16
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum