Cadernos de Questões

Provas Favoritas

Filtros Salvos

Foram encontradas 70 questões.
#2804406

Analise a classe a seguir retirada de uma aplicação Java que contém as classes Empregado.java, Diarista.java e Start.java. A classe Start.java possui o método main:

package geral;
 public class Diarista extends Empregado{
   private int diasTrabalhados;
   public Diarista(int diasTrabalhados, int id, String nome, double valorReferencia) {
       super(id, nome, valorReferencia);
       this.diasTrabalhados = diasTrabalhados;
}
 public int getDiasTrabalhados() {
       return diasTrabalhados;
}
public void setDiasTrabalhados(int diasTrabalhados) {
       this.diasTrabalhados = diasTrabalhados;
}
@Override
 public double obterSalario(){
       return super.getValorReferencia() * diasTrabalhados;
}
 public double obterSalario(double percentualAcrescimo){
       double salario= this.obterSalario();
       double salarioReajustado = salario + salario * percentualAcrescimo /100;
       return salarioReajustado;
}
 public double obterSalario(double adicional, double desconto){
       return this.obterSalario() + adicional - desconto;
}
}

Analisando o código apresentado é possível concluir que

  • essa classe está incorreta, pois não é possível criar diversos métodos com o mesmo nome, como é o caso do método obterSalario.
  • o método obterSalario() foi sobrescrito da classe Empregado
  • a instrução super(id, nome, valorReferencia); passa os valores contidos nas variáveis locaisid, nome e valorReferenciapara o método chamado super, da classe Empregado.
  • a instrução super.getValorReferencia() chama o método getValorReferencia() da classe Start.java, a classe principal que inicializa a aplicação.
  • a existência de vários métodos na classe Diarista com o nome obterSalario caracteriza um conceito conhecido como sobrescrita de métodos.
Fale com IAgo
IAgo - Assistente IAProva
IA
Olá! Sou o IAgo, seu assistente aqui no IAProvatec 😊
Veja como posso te ajudar:
Agora