Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida após a vídeoaula

Olá! Depois de assistir a primeira vídeoaula do curso de Java II, fiquei com a seguinte dúvida: se uma classe 2 extende uma classe 1, significa que uma classe 3 extendendo 2 também extenderá os métodos de 1? Vou exemplificar pra facilitar:

Considerando as classes Funcionário, Supervisor e Chefe:

class Funcionario {
    private String nome;
    private double salário;

    //getters e setters...
}

class Supervisor extends Funcionario {
    private boolean funcionarioTrabalhandoBem;

    //getter da variável

    public boolean vigiarFuncionario() {
        //devolve true ou false dependendo do trabalho do funcionário
    }
}

class Chefe extends Supervisor {
    public void darOrdem {
        //faz algo
    }
}

É um exemplo bem simples, nem coloquei o main pois não é o foco da pergunta. Neste caso, coloquei Chefe herdando Supervisor pra ele poder "vigiarFuncionário", evitando escrever algo que já escrevi. Mas a minha dúvida é se salário e nome vão ser herdados de Funcionario, ou se eu preciso fazer "Chefe extends Funcionário" e reescrever o método "vigiarFuncionario".

Obrigado desde já, se algo ficar confuso, estou aqui pra responder!

2 respostas
solução!

Sim. Chefe vai herdar tudo o que Funcionario tem. Se criar uma nova classe herdando de Chefe, ela também receberá as informações de Funcionario.

Espero ter ajudado.

Obrigado, Cássio!