#python
#python
Вопрос:
Я просто пытаюсь получить программу, которая получает точку из одного класса, а затем в другом классе использует эту точку как центр окружности. Я полагаю, что это просто, но я не знаю, как это сделать.
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class Circle(Point):
def circle(self, center, radius):
Point.x = center
Point.y = center
self.radius = radius
Ответ №1:
Вы не должны создавать подкласс Point для своего класса Circle, это не имеет особого смысла, поскольку это две совершенно разные вещи. Вместо этого вы можете взять точку в качестве центра вашего круга и передать ее в класс Circle при инициализации
class Circle(object):
def __init__(self, center: Point, radius):
self.center = center
self.radius = radius
Ответ №2:
То, как вы это делаете, с наследованием, немного сбивает с толку.
Доступны 2 варианта.
Первое : Как упоминал @Iain Shelvington, вы могли бы использовать класс Point в качестве члена вашего класса Circle.
Второе: Если вы действительно хотите подклассировать его / наследовать от точки в вашем круге, вы должны super.init() это.
class Circle(Point):
def __init__(self, x, y, radius):
super().__init__(x, y) # which is the same as creating a self.x and y for Circle
self.radius = radius