SóProvas


ID
2422099
Banca
FCC
Órgão
DPE-RS
Ano
2013
Provas
Disciplina
Programação
Assuntos

Atenção: Para responder à questão, considere as informações abaixo. 


Considere a existência de um projeto chamado Prova criado com a IDE NetBeans, contendo as classes Principal, Funcionário, Mensalista e Diarista. 


Classe Funcionário:

package classes;

public class Funcionário {

private int id;

private String nome;

private double valorRef;

public Funcionário(int id, String nome, double valorRef) {

this.id = id;

this.nome = nome;

this.valorRef = valorRef;

    }

    public Funcionário() {

    } public int getId() {

    return id;

    }

    public void setId(int id) {

    this.id = id;

    }

    public String getNome() {

    return nome;

    }

    public void setNome(String nome) {

    this.nome = nome;

    }

    public double getValorRef() {

    return valorRef; }

    public void setValorRef(double valorRef) {

    this.valorRef = valorRef;

    }

    public double obterSalario(){

    return valorRef;

    }

}

Classe Mensalista:

package classes;

public class Mensalista extends Funcionário{

private double horasExtras;

private double descontos;

public Mensalista(double horasExtras, double descontos, int id, String nome, double valorRef) {

super(id, nome, valorRef);

this.horasExtras = horasExtras;

this.descontos = descontos;

    }

    public double getDescontos() {

    return descontos;

    }

    public void setDescontos(double descontos) {

    this.descontos = descontos;

    }

    public double getHorasExtras() {

    return horasExtras;

    }

    public void setHorasExtras(double horasExtras) {

    this.horasExtras = horasExtras;

    }

    @Override public double obterSalario(){

    return super.getValorRef() + horasExtras - descontos;

    }

}


Classe Diarista:

package classes;

public class

Diarista extends Funcionário {

public int diasTrabalhados;

public Diarista(int diasTrabalhados, int id, String nome, double valorRef) {

super(id, nome, valorRef);

    this.diasTrabalhados = diasTrabalhados;

    }

    public int getDiasTrabalhados() {

    return diasTrabalhados;

    }

    public void setDiasTrabalhados(int diasTrabalhados) {

    this.diasTrabalhados = diasTrabalhados;

    }

    @Override public double obterSalario(){

    return super.getValorRef() * diasTrabalhados;

    }

}


Classe Principal:

package principal;

import classes.Diarista;

import classes.Funcionário;

import classes.Mensalista;

public class Principal {

    public static void main(String[] args) {

    double sal01, sal02;

    Funcionário fun01 = new Diarista(12, 1, "Maria Joaquina", 80.00);

    Funcionário fun02 = new Mensalista(500.00, 200.00, 2, "Pedro Henrique",1500.00);

    sal01 = fun01.obterSalario();

    sal02 = fun02.obterSalario();

    }


Se o método obterSalario fosse protected na classe Funcionário, a linha sal01 = fun01.obterSalario(); na classe Principal estaria

Alternativas
Comentários
  • d) incorreta, pois como as classes Principal e Funcionário estão em pacotes diferentes, não é possível chamar o método obterSalario a partir da classe Principal. 

    Erro de Compilação: The method obterSalario() from the type Funcionário is not visible