[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);
}
}
}