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