[Corsopoc] =?iso-8859-1?Q?Implementazione_relazione_associativa:_pu=F2_andare=3F?=

Andrea De Santis dsa@arealazio.com
Tue, 14 Jan 2003 02:05:39 +0100


Salve a tutti,

Avendo ancora in testa un po di nebbia sull'argomento "Relazione
Associativa" ho realizzato
il seguente programmillo *FUNZIONANTE* in java.
Credo di aver implementato la relazione sia nel verso di molteplicita' 1 che
in quello di N...

...che ne pensate???? è corretto???

Byez

----------------------------------------------------------------------------
--------------------------------------------
/* Esempio Implementazione
 * Relazione Studente N--------1 Corso
 * 14/01/03 V 1
 */

class corso {
    private studente[] elencoStudenti;
    private int numStudentiIscritti;
    private String nomeCorso;

    public corso(String crs, int numMaxIscritti) {
        elencoStudenti=new studente[numMaxIscritti];
        numStudentiIscritti=0;
        nomeCorso=crs;
    }


    public String getCorso(){
        return nomeCorso;
    }

    public studente getIscritto(int posizione){
        return(elencoStudenti[posizione]);
    }


    public int getNumIscritti(){
        return(numStudentiIscritti);
    }

    public void addStudente(studente stud) {
        numStudentiIscritti=numStudentiIscritti+1;
        elencoStudenti[numStudentiIscritti]=stud;
    }

}

class studente {
    private corso corsoAppartenenza;
    public String NomeStudente;

    public studente(corso CorsoDA, String Nome) {
        corsoAppartenenza=CorsoDA;
        CorsoDA.addStudente(this);
        NomeStudente=Nome;
    }
    public String CorsoAppartenenza() {
        return(corsoAppartenenza.getCorso());

    }

}

public class EsempioStudenteCorso {

    public static void main(String[] args) {
        corso POC = new corso("Programmazione OC",15);
        studente Mario = new studente(POC,"Mario");
        studente Pino = new studente(POC,"Pino");
        studente Ugo = new studente(POC,"Ugo");

        // Vediamo se funzica :)

        System.out.println(Mario.CorsoAppartenenza());
        System.out.println(POC.getNumIscritti());

        // Stampa i nomi degli studenti iscritti partendo dal corso

        for(int i=1; i <= POC.getNumIscritti();i++){
            System.out.println(POC.getIscritto(i).NomeStudente);
        }
    }
}