Guida programmazione orientata agli oggetti » Torna alla lezione

Esempio di ereditarietà [Java]

class Impiegato
{
    private String nome;
    private String salario;
    private String matricola;
    private int anniDiServizio;
    public Impiegato(String n, double s, String m, int ads)
    {
        nome = n;
        salario = s;
        matricola = m;
        anniDiServizio = ads;
    }
    public void incrementaSalario(double percentuale)
    {
        salario *= 1 + percentuale / 100;
    }
    public void stampaInfo()
    {
        System.out.println(nome + " " + salario + " " + matricola);
    }
    public String getNome()
    {
        return nome;
    }
    public int getAnniServizio()
    {
        return anniDiServizio;
    }
}

class Manager extends Impiegato
{
    private String nomeSegretaria;
    public Manager(String n, double s, String m, int ads)
    {
        super(n, s, m, ads);
        nomeSegretaria = "";
    }
    public void incrementaSalario(double percentuale)
    {
        // Aggiunge alla percentuale lo 0.5% per ogni anno di servizio
        double bonus = 0.5 * getAnniServizio();
        super.incrementaSalario(percentuale + bonus)
    }
    public String getNomeSegretaria()
    {
        return nomeSegretaria;
    }
    public void setNomeSegretaria(String nome)
    {
        nomeSegretaria = nome;
    }
}