Atv2 LP3
Atv2 LP3
Questão 1) (2,0 pontos) Para cada uma das sentenças a seguir assinale (V) para
verdadeiro e (F) para falso.
● ATENÇÃO: Cada resposta (letra) errada anula uma resposta correta. Questões sem
resposta não contam pontos mas também não anulam respostas certas.
● As respostas V ou F devem ser a caneta e nesta parte da prova.
Analise os códigos a seguir, circule e numere cada situação em que há algum erro no uso
destes recursos e depois para cada erro identificado explique qual foi o erro.
Erro 1:
● Classe concreta com métodos abstratos: A classe Funcionario está sendo
declarada como uma classe concreta (normal), porém contém dois métodos
abstratos: calculoFerias() e getBonificacao(). Isso não é permitido em
Java. Se a classe tem métodos abstratos, ela deve ser abstrata.
—----------------------------------------------------------------------------
public interface Email {
String assunto;
Erro 2:
—----------------------------------------------------------------------------
@Override
public Double getBonificacao() {
return vendas * 0.05;
}
}
—----------------------------------------------------------------------------
Questão 3) (3,0 pontos) Na indústria, o seu conjunto de equipamentos pode ser comandado
pelo que chamamos de sinóticos, um esquema com figuras que ilustra a planta industrial.
Por exemplo, na Figura 1 uma válvula ("torneira") permite ou não uma bomba bombear um
líquido para um reservatório.
Imagine que cada equipamento é representado por uma figura geométrica (classe
Figura2D), os retângulos representam os dutos/canos e o reservatório, os círculos a bomba,
e os triângulos as válvulas. Cada elemento precisa ter sua área calculada além de manter
um status de status (ligado/desligado) e valor associado (int). Cada item pode mostrar de
forma gráfica o seu funcionamento, por exemplo a bomba está ligada com vazão de
200cm³/s. Além disso, o operador pode registrar explicação sobre o equipamento e o
sistema apresenta um texto de explicação. Por exemplo, para a válvula o sistema explicou
que uma válvula pode liberar ou bloquear o fluxo de líquido.
Usando devidamente os recursos de classes abstratas e interfaces, implemente uma
solução para este cenário com as seguintes características:
a) (1,0 ponto) Implemente a classe abstrata Figura2D com os dados de situação, de valor
e com o método com o cálculo de área. Na implementação, para simplificar a resposta,
pode-se usar atributos públicos e não precisa criar os getters, setters e construtores.
b) (1,0 ponto) Implemente pelo menos as classes concretas retângulo e círculo, com seus
devidos atributos e os métodos para calcular área.
public class Retangulo extends Figura2D{
this.base = base;
this.altura = altura;
return base*altura;
}}
this.raio = raio;
return Math.PI*raio*raio;
}}
c) (1,0 ponto) Imagine que o seguinte código é usado para visualizar os dados em tela e
explicar os elementos. Implemente a interface em questão e também os ajustes que
precisam ser feitos nas classes concretas. Pode-se responder os ajustes apenas para
retângulo. (Imagine que para visualizar dados ao atualizar, os métodos imprimem
mensagens em tela com System.out.print).
v.MostrarDadosAtuais();
this.base = base;
this.altura = altura;
return base*altura;
return("EXPLICAÇAO");
}
2023.2
Paciente() {
this.nome = "Novo";
this.glicose = 80;
}
PacienteCritico() {
this.nome = "Novo";
this.glicose = 120;
this.hemoglobinaGlicada = 230;
}
c) (0,4 pontos) Qual tipo de polimorfismo está presente neste exemplo. Explique.
Para lógica do cálculo de pedágio, suponha que para carro é cobrado o valor de
R$1,50 por passageiro e para caminhão o valor de R$5,30 por eixo.
for(Veiculo v : veiculos) {
v.imprimir();
System.out.println(" Valor pedágio: " + v.CalcularPedagio());
}
sobrecarga é definir múltiplas funções com o mesmo nome, e pra distinguir essas
funções são usados os parâmetros
Por exemplo, temos a classe Numero_A que nesta classe temos o método Número
que recebe como parâmetro um número e o retorna, e nesta mesma classe temos o
mesmo método só que sem receber nenhum parâmetro e retorna um numero tbm,
entao podemos distinguir o método Numero pelos parâmetros, já que em um recebe
um número, e em outro não recebe nada.