Classes
Implementando métodos
Vamos ver um exemplo de uma função definida dentro da classe (também chamada de método):
class Point:
def __init__(self, x_coord, y_coord):
self.x = x_coord
self.y = y_coord
def distance_to(self, other_point):
dx = other_point.x - self.x
dy = other_point.y - self.y
return ((dx**2) + (dy**2)) ** 0.5
Exercício 1
Resposta
O método distance_to
recebe dois pontos como argumento. O primeiro ponto é o self
e o segundo argumento é other_point
.
Exercício 2
Resposta
Note que a forma como chamamos o método distance_to
é um pouco diferente de como chamamos funções normalmente. Estamos chamando o método distance_to
associado à variável p1
com o argumento p2
.
Exercício 3
Resposta
Os valores para other_point.x
e self.x
são 7, 4
.
Veja o teste de mesa abaixo, que simula o código do exercício anterior:
Considere o comando na penúltima linha: d = p1.distance_to(p2)
. Ele segue uma estrutura muito parecida com o que já fazíamos com strings, por exemplo:
Provavelmente ainda não está muito claro qual é a vantagem de usarmos classes. Vamos praticar resolvendo alguns exercícios. No handout de Pygame veremos alguns exemplos mais úteis do uso de classes.
Uma sugestão de sequência de exercícios para praticar:
Exercício 4
Exercício 5
Exercício 6