Logo by Irenicus venerdì 25-mag-12 15:29


RaulKen.It :: Leggi il Topic - [INGEGNERIA DEL SOFTWARE] [JAVA] Quesito di progettazione
 FAQFAQ   CercaCerca   Gruppi utentiGruppi utenti   ProfiloProfilo   Messaggi PrivatiMessaggi Privati   LoginLogin 

[INGEGNERIA DEL SOFTWARE] [JAVA] Quesito di progettazione

 
Nuovo Topic   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
caralu
Utente del Forum
Utente del Forum


Registrato: Sep 01, 2004
Messaggi: 71

MessaggioInviato: Sab Set 16, 2006 2:15 pm    Oggetto: [INGEGNERIA DEL SOFTWARE] [JAVA] Quesito di progettazione Rispondi citando

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;
       
        if(type == map.MONETA)
            {
                this.punti = 100;
                this.visibile = true;
            }
       
        if(type == map.PREMIO)
            {
                this.punti = 200;
                this.visibile = false;
                ContaTempo timer = new ContaTempo();
            }
       
        if(type == map.CHIAVE)
            {
                this.punti = 0;
                this.visibile = true;
            }
        }

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
Torna in cima
Profilo Messaggio privato MSN Messenger
g_u_a_n_o
Frequentatore del Forum
Frequentatore del Forum


Registrato: lug 16, 2001
Messaggi: 173

MessaggioInviato: Sab Set 16, 2006 7:32 pm    Oggetto: Rispondi citando

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
Torna in cima
Profilo Messaggio privato Invia email
caralu
Utente del Forum
Utente del Forum


Registrato: Sep 01, 2004
Messaggi: 71

MessaggioInviato: Sab Set 16, 2006 7:56 pm    Oggetto: Rispondi citando

g_u_a_n_o ha scritto:
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
Torna in cima
Profilo Messaggio privato MSN Messenger
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
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

Powered by phpBB © 2001, 2005 phpBB Group


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Generazione pagina: 1.01 Secondi