Sejam a classe Point() e a classe Circle() definidas abaixo:
class Point():
def __init__(self,x,y):
self._x = x
self._y = y
@property
def x(self):
return self._x
@x.setter
def x(self,x):
self._x = x
@property
def y(self):
return self._y
@y.setter
def y(self,y):
self._y = y
def __repr__(self):
return f"{self._x}, {self._y}"
def move(self,x,y):
self._x = x
self._y = y
return self._x,self._y
class Circle():
def __init__(self,radius,x,y):
self._radius = radius
self.x = x
self.y = y
def move(self,x,y):
Point.move(self,x,y)
def __repr__(self):
return f"radius = {self._radius}, \nx = {self.x},\ny = {self.y}"
point1 = Point(12,3)
print(point1)
point1.y = 0
print(point1)
point1.move(55,7)
print(point1)
circle1 = Circle(4,1,1)
print(circle1)
circle1.move(2,2)
print(circle1)
Tentei criar o método move(x,y) do Círculo, chamando o move(x,y) do Ponto mas sem usar a herança. Inicialmente o círculo foi criado em
circle1 = Circle(4,1,1)
No entanto, ao usar circle1.move(2,2) o círculo continua em (1,1). O que está errado?