Praticando OOP com Python
Foto de Josué S.
Por: Josué S.
28 de Abril de 2023

Praticando OOP com Python

Criar uma classe Ponto2D

Programação Orientada a Objetos Python Lógica de Programação Geral

Fala, galera! Este artigo tem o objetivo de ser totalmente HANDS-ON (total "mão na massa").

Espero que você já tenha alguma familiaridade com programação (nível básico) e esteja muito curioso para praticar Programação Orientada a Objetos em Python.

Sem mais lero-lero, quero que você explore este problema prático, onde deverá criar uma classe para representar pontos em duas dimensões. Um ponto em duas dimensões é essencialmente um par de números.

A imagem disponível aqui mostra os pontos (0, 0), (2, 4) e (4, 1).

Quero que você implemente uma classe chamada Point2D com os seguintes métodos:

  • __init__(self, x, y): Este método cria uma instância de Point2D armazenando x em self.x e y em self.y.
  • distance(self, other): Este método calcula a distância entre os pontos self e other.

A distância entre dois pontos (x1, y1) and (x2, y2) é calculada pela seguinte fórmula:

Por exemplo, a distância entre os pontos (2, 4) e (4, 1) é aproximadamente igual a 3.605551 como mostrado nesta figura (clique aqui).

Em Python, você pode "computar" a raiz quadrada de um número usando a função math.sqrt() do módulo math.

Veja alguns exemplos abaixo:

import math
print(math.sqrt(9))
print(math.sqrt(1))
print(math.sqrt(42))

Se você executar o código acima, deverá ver o seguinte resultado:

3.0
1.0
6.48074069840786

Abaixo apresento um exemplo de como alguém poderia usar sua classe assim que concluir a sua implementação (codificação):

point1 = Point2D(2, 4)
point2 = Point2D(4, 1)
distance = point1.calculate_distance(point2)
print(distance)

O resultado deverá ser o seguinte:

3.605551275463989

Agora é com você, "bóra lá" seguir as instruções abaixo:

Instruções

  • Defina uma classe chamada Point2D.
  • Defina o método __init__() com 3 argumentos:
    • self: a referência para a instância da classe.
    • x: o valor da coordenada x.
    • y: o valor da coordenada y.
  • Implemente o método __init__() para armazenar x em self.x e y em self.y.
  • Defina  um método calculate_distance() com dois argumentos:
    • self: a referência para a instância da classe.
    • other: outra instância da classe Point2D da qual queremos computar a distância.
  • Implemente o método calculate_distance() para que ele retorne a distância entre o ponto de referência e o outro ponto passado como argumento.

 

Depois de tentar resolver, consulte a solução publicada no meu canal do YouTube.

Abraço e boa jornada de programação!!!

Josué S.
Josué S.
São Paulo / SP
Responde em 7 h e 51 min
Identidade verificada
1ª hora grátis
5,0
nota média
3
avaliações
R$ 100
por hora
Mestrado: Engenharia de Software (Instituto Nacional de Pesquisas Espaciais)
Aulas de programação, pensamento computacional e gestão de projetos

Confira artigos similares

Aprenda sobre qualquer assunto