Informática, perguntado por perguntador99999, 5 meses atrás

QUESTÃO 10
Analise o código a seguir e, depois, responda ao que é solicitado.

class Carro {
String cor = "branco";
void mudaCor(String cor){
this.cor = cor;
}
}

class Pessoa {
final Carro carro = new Carro();
void mudaCorDoCarro(String cor){
carro.mudaCor(cor);
}
}

O que o código acima indica? Marque alternativa correta.
Alternativas
Alternativa 1:
O código atual não possibilita indicar nenhum comportamento.

Alternativa 2:
Que uma pessoa pode trocar de carro e pode trocar a cor do carro.

Alternativa 3:
Que uma pessoa não pode trocar de carro, mas pode trocar a cor do carro.

Alternativa 4:
Que uma pessoa não pode trocar de carro e não pode trocar a cor do carro.

Alternativa 5:
Que uma pessoa pode trocar de carro, mas um carro não pode trocar de cor.

Soluções para a tarefa

Respondido por rafames1000
5

Resposta:

Alternativa 3:

Que uma pessoa não pode trocar de carro, mas pode trocar a cor do carro.

Explicação:

A classe Carro declara a variável cor recebendo "branco" e usa um parâmetro

"void mudaCor(String cor){

       this.cor = cor;

    }" para se referir à variável cor.

Na classe Pessoa é declarada uma constante do tipo Carro chamada carro,  

com todos os atributos contidos na classe Carro(tipo Struct); como o carro  

é uma constante(final), então ele não pode assumir outra forma, portanto  

a classe Pessoa não pode alterar ou mudar o carro.

A classe Pessoa, ainda declara um método  

"void mudaCorDoCarro(String cor){

          carro.mudaCor(cor);

     }" permitindo que a variável carro, declarado na classe Pessoa,  

receba a variável cor como no exemplo de uma possível linha adicional  

"System.out.println(carro.cor);", para mostrar o resultado da atribuição  

da variável cor à variável carro, ou seja, mostrar a possibilidade de mudar a cor do carro.

Perguntas interessantes