Buonasera,
ho scritto questo esercizio sulla falsa riga di altri per esercitarmi sulle sottoclassi, ma non ho capito un paio di cose
Il testo dell'esercizio è il seguente:
<<
Si progetti una classe con relative sotto classi , utile a gestire un attività di manutenzione dove un responsabile prende in carico
la richiesta di servizio e scelga quale azienda presente in anagrafica sia più adatta allo scopo e registri il nome del tecnico(del fornitore) per l'esecuzione dei lavori.>>
In Evidenza ( Main)
System.out.println(attività.getAssistente());
System.out.println(odl.getAssistente());
System.out.println(attività.getAssistenteAttività());
1) Perchè
attività.getAssistente()); è null ?Non dovrei ereditare il metodo della classe OdL e relativo attributo ?
2) la parola chiave
Super fa riferimento al parent e quind alla classe che sta "sopra" e senza di quello non posso creare il costruttore nella sotto classe ,almeno ho capito così..Ma a cosa serve?Posso usare il valore all'interno di "super ()"
Grazie
Main
public class ProvaSottoClasse {
static int nOdL;
public static void main(String[] args) {
Attività attività;
OdL odl ; // Ordine di lavoro
/* azione di Assistente prende in carico richiesta di servizio e crea odl */
odl = new OdL(Integer.toString(nOdL++));
/* azione del software */
odl.setAssistente("Rossi Luca");
/* azione di Assistente sceglie codice fornitore */
odl.setService(800065);
/* azione di Assistente crea un'attività */
attività = new Attività ("Verifica pompa n°1");
/* azione di Assistente assegna attività a tecnico fornitore */
attività.setAssistenteAttività("Piero Verdi");
System.out.println(attività.getAssistente());
System.out.println(odl.getAssistente());
System.out.println(attività.getAssistenteAttività());
}
}
classe Assistente
public class Assistente{
private String Assistente;
protected Assistente (String name) {this.Assistente = name;}
}
classe Attività
public class Attività extends OdL {
private String AssistenteAttività;
protected Attività(String descrizione) {
super(descrizione);
}
protected void setAssistenteAttività ( String name){ this.AssistenteAttività = name;}
protected String getAssistenteAttività (){ return this.AssistenteAttività; }
}
classe OdL (ordine di lavoro)
public class OdL extends Assistente {
private int odl;
private int code;
private String Assistente;
protected OdL(String descrizione) {
super(descrizione);
}
protected void setOdl ( int number) { this.odl = number; }
protected void setService ( int number) {this.code = number; }
protected void setAssistente ( String name) {this.Assistente = name; }
protected String getAssistente () { return this.Assistente; }
public int GetOdl() { return odl; }
public int GetService () { return code; }
}