Carregando...
Carregando...
Ajude a melhorar a plataforma
Após a implementação da classe Point em Python, que permite a manipulação de pontos em um plano bidimensional através de métodos para definir e obter coordenadas, bem como para mover o ponto, você decide testar a funcionalidade desta nova classe. Você inicia criando uma instância da classe Point, ajusta suas coordenadas para um ponto específico no plano, e em seguida, move este ponto para uma nova posição. Finalmente, você deseja verificar as novas coordenadas do ponto para confirmar que os métodos implementados estão funcionando conforme esperado.
Baseando-se em possíveis descrições dos respectivos métodos da classe Point, qual sequência de comandos em Python faz uso correto de métodos para criar um ponto, definir suas coordenadas iniciais, mover o ponto e obter suas novas coordenadas?
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
🎓 Gabarito Comentado (AVA):
A alternativa “a = Point(); a.setx(3); a.sety(4); a.move(2, -3); a.get()” é correta, pois segue precisamente a sintaxe e os métodos descritos para instanciar um objeto da classe Point, definir suas coordenadas x e y utilizando os métodos setx() e sety(), mover o ponto no plano com o método move(), e finalmente obter as novas coordenadas com o método get(). Esta sequência de ações demonstra a correta utilização dos métodos da classe para manipular o objeto a.
A alternativa "a = Point(); a.setx=3; a.sety=4; a.move(2, 3); a.get()" é incorreta, pois tenta definir as coordenadas com a.setx = 3 e a.sety = 4 de forma incorreta pois não existe tal sintaxe. Trata-se de uma tentativa inválida de atribuição de valor usando-se um método.
A alternativa "a = Point(); a.x = 3; a.y = 4; a.move(2, 3); print(a.x, a.y)" é incorreta, pois utiliza a atribuição direta a.x=3 e a.y=4, portanto não usa métodos para definir as coordenadas como pede o enunciado, sendo assim é incorreta. Tal definição de coordenadas não segue a convenção de encapsulamento de objetos em programação orientada a objetos, onde se espera o uso de métodos para manipular atributos de uma instância.
A alternativa "a = Ponto(); a.setx(3); a.sety(4); a.move(2, 3); a.get()" é incorreta, pis tenta instanciar um objeto da classe Ponto(), e está incorreta porque o nome da classe definida no enunciado é Point(), e não Ponto().
A alternativa "a = Point(); a.setx(3); a.sety(4); mover(2, 3); a.get()" é incorreta, pois apresenta um erro de sintaxe ao tentar utilizar um método para mover o ponto para uma nova posição.