Escreva as seguintes classes:
c) Uma subclasse de Funcionario, chamada Professor. Todo professor recebe seu salário em uma única parcela. Assim, deve-se sobrecrever os métodos getSalarioPrimeiraParcela e getSalarioSegundaParcela. O método getSalarioPrimeiraParcela da classe Professor deve retornar o valor integral do salário do professor e o método getSalarioSegundaParcela do professor deve retornar o valor zero.

Passo 1

Beleza, vamos dar uma olhada no que a questão está pedindo. Temos que criar uma subclasse chamada Professor que herda de Funcionario. O assunto aqui é programação orientada a objetos, especificamente herança e sobrescrita de métodos. Para resolver isso, vamos precisar entender como criar uma classe que herda de outra e como sobrescrever métodos dentro dessa classe.

Passo 2

Primeiro, vamos criar a classe Professor que herda da classe Funcionario. Em muitas linguagens de programação, como Java ou Python, usamos a palavra-chave extends ou simplesmente indicamos a herança na definição da classe.

Passo 3

Agora, precisamos sobrescrever dois métodos: getSalarioPrimeiraParcela e getSalarioSegundaParcela. Sobrescrever um método significa redefinir o comportamento de um método da classe pai na classe filha. No nosso caso, para a classe Professor, esses métodos vão funcionar de maneira diferente.

Passo 4

O método getSalarioPrimeiraParcela deve retornar o salário completo do professor. Isso significa que, quando chamarmos esse método para um objeto da classe Professor, ele vai nos dar todo o valor do salário.

Passo 5

Já o método getSalarioSegundaParcela deve retornar zero para a classe Professor, já que os professores recebem todo o salário em uma única parcela. Então, esse método não vai devolver nada além de zero.

Passo 6

Vamos colocar tudo isso em código. Vou mostrar um exemplo em Java, mas o conceito é semelhante em outras linguagens orientadas a objetos.
public class Professor extends Funcionario {
    
    // Construtor da classe Professor
    public Professor(String nome, double salario) {
        super(nome, salario);
    }

    // Sobrescrevendo o método getSalarioPrimeiraParcela
    @Override
    public double getSalarioPrimeiraParcela() {
        return this.salario;
    }

    // Sobrescrevendo o método getSalarioSegundaParcela
    @Override
    public double getSalarioSegundaParcela() {
        return 0.0;
    }
}

Resposta

Pronto! A classe Professor foi criada como uma subclasse de Funcionario, e os métodos getSalarioPrimeiraParcela e getSalarioSegundaParcela foram sobrescritos corretamente para atender às especificações da questão.

Exercícios relacionados