Prévia do material em texto
Acadêmico: Jonatan Machado (1504222) Disciplina: Programação Orientada a Objetos (ADS17) Avaliação: Avaliação Final (Discursiva) - Individual Semipresencial ( Cod.:637414) ( peso.:4,00) Prova: 21072597 Nota da Prova: 5,50 1. Toda aplicação JavaSE deve ter o que é conhecido como ponto de entrada. Visto que uma aplicação desenvolvida através do paradigma de programação orientada a objetos é composta por diversas classes, pelo menos uma delas deve ter a responsabilidade de iniciar o processo de instanciação e troca de mensagens. Considerando o código fonte da classe Principal mostrada na figura a seguir, crie o código fonte da classe Aluno, sabendo que a matrícula é um inteiro e que o método calcularMedia() sempre retorna -1, pois sua implementação ainda não foi definida. Resposta Esperada: O acadêmico deverá elaborar um código fonte como o da figura, sendo que a ordem dos elementos pode variar sem problemas e o modificador da classe não precisa ser public, podendo ser default. 2. A comparação de igualdade entre duas instâncias de uma mesma classe pode ser definida na linguagem de programação Java através do polimorfismo. A sobrescrição do método equals(), existente na classe Object é sinalizada através da annotation @override e permite que o desenvolvedor defina seus próprios critérios de comparação através de atributos. Considerando o que foi exposto e a existência de uma classe chamada de Cachorro que possui um atributo nome, disserte sobre o código fonte da figura a seguir, explicando o que acontece em cada linha. UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do A... https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito... 1 of 2 26/09/2020 21:42 Resposta Esperada: Na linha 19 está a anotação override, indicando que estamos usando o polimorfismo. Na linha 20 está a assinatura do método. Nas linhas 21 e 22 estamos perguntando se a referência com a qual estamos comparando é a mesma. Se for, logicamente o equals retornará true. Nas linhas 23 e 24 é feita a pergunta se o objeto a ser comparado é null. Se ele for, o método retorna falso. Nas linhas 25 e 26, é feita a verificação do tipo da classe que está vindo como parâmetro. Se os tipos forem diferentes, o método retorna falso. Na linha 27, é feita conversão do object para Cachorro, para que se possa realizar a comparação do nome. Nas linhas 28 a 30, é feita a verificação de nome nulo. Se um dos nomes for nulo e o outro não, retorna-se falso. Finalmente, a linha 31 pergunta se o nome do objeto atual não é igual ao nome do objeto que veio como parâmetro. Se os dois forem diferentes, o método retorna falso e, caso a execução não entre em nenhuma das verificações anteriores, os nomes dos dois objetos são iguais e o método retorna true. UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do A... https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito... 2 of 2 26/09/2020 21:42