如何在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
我想扩展定义以将两个点的总和定义为一个点,其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的定义
提前致谢!!