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.
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.