Se o método obterSalario fosse protected na classe Funcionár...

Próximas questões
Com base no mesmo assunto
Ano: 2013 Banca: FCC Órgão: DPE-RS Prova: FCC - 2013 - DPE-RS - Analista - Informática |
Q807364 Programação

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