/* * Classe che definisce le informazioni per un autista, deriva da Persona. */ public class Autista extends Persona { private String licenza; public Autista(){ } //costruttore senza argomenti public Autista(String nome, String cf,String licenza){ super(nome,cf); this.licenza = licenza; } //costruttore con due argomenti public String getLicenza(){ return licenza; } public void setLicenza(String l){ licenza = l; } //metodo per la stampa, override public void stampa(){ System.out.println(this.getNome() + " " + this.getCF()+ " " + licenza); } public static void main(String[] args){ Autista a = new Autista(); a.setNome("Mario"); a.setCF("MRIRSS76K18G501K"); a.setLicenza("RM323456"); System.out.println(a.getNome()+", "+a.getLicenza()); TaxiInfo t1 = new TaxiInfo("Alpha",true,3,a); Autista a1 = new Autista("Stefano", "BNCSTF78K18G501K", "RM345675"); System.out.println(a1.getNome()+", "+a1.getLicenza()); //Nota: getNome non e' definito in Autista ma in Persona Persona p1 = new Persona("Claudio","VRDCLD80K16G501W"); Autista aa; Persona pp = a; //ok Autista //sottoclasse di Persona // aa = p1; //Errore // pp.getLicenza();//Errore anche se pp di fatto contiene questa informazione (a e' un Autista) } }