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

Implemente:
a) Uma classe MeioDeTransporte com atributos ligado (boolean) e velocidade (inteiro) e métodos liga() e desliga (). O método ligado torna o atributo ligado true e o método desliga torna o atributo ligado false, além de tornar a velocidade zero. Crie também métodos get e set para modificar o atributo velocidade, sendo que a velocidade não pode ser negativa.
Escreva as seguintes classes:
d) Uma classe que contenha o método main e instancie os seguintes objetos com os respectivos valores:
pessoa1 (Pessoa) pessoa2 pessoa3 pessoa4
nome: João (Funcionario) (Professor) (Professor)
sobrenome: Silva nome: Maria nome: José nome: Ana
sobrenome: sobrenome: sobrenome:
Medeiros Souza Oliveira
salário: 1750.00 salário: -500.00 salário: 1500.00
Implemente:
c) Uma classe que contenha o método main que permita ao usuário digitar os dados de 5 carros. Adicione os objetos em um array de carro. Por fim exiba os dados dos 5 carros.
Escreva as seguintes classes:
a) Uma classe Pessoa com atributos nome e sobrenome. Cada um desses atributos deve ter métodos get e set. A classe Pessoa ainda deve ter um método chamado getNomeCompleto que não possui parâmetros de entrada e que retorna a concatenação do atributo nome com o atributo sobrenome. Além disso, a classe deve possuir um construtor sem parâmetros e um outro construtor que recebe como parâmetros o nome e o sobrenome da pessoa e altera respectivamente os atributos nome e sobrenome.