

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Para responder as questões 15 a 18, considere o programa a seguir, feito em Java. As linhas estão numeradas apenas para referência.
01 class Retangulo {
02 private float altura;
03 private float largura;
04
05 public Retangulo() {
06 altura = 0;
07 largura = 0;
08 }
09
10 public float getAltura() {
11 return altura;
12 }
13
14 public void setAltura(float a) {
15 altura = a;
16 }
17
18 public float getLargura() {
19 return largura;
20 }
21
22 public void setLargura(float l) {
23 largura = l;
24 }
25
26 public float calculaArea() {
27 return altura * largura;
28 }
29
30 public float calculaPerimetro() {
31 return 2 * altura + 2 * largura;
32 }
33 }
34
35 public class Main {
36 public static void main(String[] args) {
37 /
38 /
39 /
40 /
41 /
42 }
43 }
Com base no código em Java apresentado e nos conceitos de Programação Orientada a Objetos, analise as seguintes assertivas:
I. Nas linhas 02 e 03, a palavra private indica que os atributos altura e largura estão encapsulados.
II. Na linha 05, o método Retângulo é um construtor e é executado automaticamente quando um novo objeto é criado a partir da classe Retangulo.
III. Nas linhas 10 e 18, os métodos getAltura e getLargura servem para pegar os valores de altura e largura, respectivamente, informados a partir de um programa main, para armazená-los nos atributos da classe.
IV. A linha 31 retorna uma resposta incorreta para o cálculo do perímetro, pois existe um problema de precedência. A forma correta do cálculo do perímetro é (2 * altura) + (2 * largura), com os parênteses corrigindo o problema da precedência nas operações.
Quais estão corretas?
Apenas I e II.
Apenas I e III.
Apenas II e III.
Apenas II e IV.
I, II, III e IV.