Расширение определения класса (определено в библиотеке) в Python - PullRequest
0 голосов
/ 09 июня 2018

Как расширить определение класса в Python 3.x?

У меня есть файл библиотеки graphics.py с классом Point, определенным следующим образом:

class Point(GraphicsObject):
    def __init__(self, x, y):
        GraphicsObject.__init__(self, ["outline", "fill"])
        self.setFill = self.setOutline
        self.x = x
        self.y = y

    def _draw(self, canvas, options):
        x,y = canvas.toScreen(self.x,self.y)
        return canvas.create_rectangle(x,y,x+1,y+1,options)

    def _move(self, dx, dy):
        self.x = self.x + dx
        self.y = self.y + dy

    def clone(self):
        other = Point(self.x,self.y)
        other.config = self.config.copy()
        return other

    def __str__(self):
        return "Point({0}, {1})".format(self.x, self.y)

    def getX(self): return self.x
    def getY(self): return self.y

Iхотел расширить определение, чтобы определить сумму двух точек как точки с ее координатами x и y как суммой координат x и y заданных точек соответственно.

Я пытался

import graphics as gr

class Point(gr.Point):
    def __add__(self, another_point):
        return point((self.x+another_circle.x), (self.y+another_circle.y))

Но это не помогло, это дало мне новый класс вместо расширения определения gr.Point

Заранее спасибо !!

...