Ciao a tutti!![]()
Vi espongo subito il mio problema, ho due classi:
-Dipendente, che definisce (private) nome, cognome, indirizzo e ruolo e relativi metodi;
-Programmatore, che estende Dipendente e definisce altre variabili e metodi.
A compile-time, però, il compilatore mi emette due warning:
Immagino che sia a causa dell'"invisibilità" delle due variabili "cognome" e "indirizzo" dichiarate private nell'altra classe (ho scoperto l'acqua calda, eh!?)..però, a livello teorico non c'è nessun modo in cui potrei accedervi, anche indirettamente accedendo ad un metodo della superclasse?codice:Programmatore.java:18: warning: The parameter cognome is never read public int getMatricola(String cognome, String indirizzo) { ^^^^^^^ Programmatore.java:18: warning: The parameter indirizzo is never read public int getMatricola(String cognome, String indirizzo) {
Posto quì sotto le due classi:
Classe Programmatore:codice:public class Dipendente { private String nome; private String cognome; private String indirizzo; private String ruolo; public Dipendente(String nome, String cognome, String indirizzo, String ruolo) { this.nome = nome; this.cognome = cognome; this.indirizzo = indirizzo; this.ruolo = ruolo; } public Dipendente(String nome, String cognome) { this.nome = nome; this.cognome = cognome; } public String getNome() { return nome; } public String getCognome() { return cognome; } public String getIndirizzo() { return indirizzo; } public String getRuolo() { return ruolo; } }
Vi ringrazio anticipatamente!!codice:/* Programmatore eredita variabili e metodi da Dipendente nome, cognome, indirizzo, ruolo*/ public class Programmatore extends Dipendente { int matricola; // Nuova variabile istanza int pagaBase; // Nuova variabile istanza int pagaOraria; // Nuova variabile istanza int oreGiorno; // Nuova variabile istanza static int nextMatricola = 1; // Nuova variabile statica (di classe) public Programmatore(String nome, String cognome, String indirizzo, String ruolo) { super(nome, cognome, indirizzo, ruolo); this.matricola = nextMatricola++; } public int getMatricola(String cognome, String indirizzo) { return matricola; } public int getPBase() { return pagaBase; } public int getPOraria() { return pagaOraria; } public int getOreGiorno() { return oreGiorno; } public void aumentaStipendio(int aumento) { this.pagaOraria += aumento; } }

Rispondi quotando
