【发布时间】:2017-02-24 09:03:12
【问题描述】:
我试图从下面的类中调用祖父方法 getColor()。
这是它自己文件中的祖父类:
class IsVisible(object):
def __init__(self):
pass
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)
blue = (0,0,255)
green = (0,255,0)
def getColor(self):
return self.color
这是父类和子类。
from IsVisible import *
class Object(IsVisible):
def __init__(self):
super(Object, self).__init__()
self.posSize = []
def getPosSize(self):
return self.posSize
class Rectangle(Object):
def __init__(self):
super(Rectangle, self).__init__()
self.color = self.blue
self.posSize = [20,50,100,100]
所以我试图通过创建一个对象来调用getColor
rectangle = Rectangle()
然后调用
rectangle.getColor()
但是我遇到了一个错误。即:
AttributeError: 'Rectangle' object has no attribute 'getColor'
现在我不知道如何解决这个问题。我试图用谷歌搜索“python调用祖父母方法”,但我只得到关于如何调用溢出的方法的说明......我相信我已经正确地说明了继承,所以我不知道问题是什么。谁能帮帮我?
【问题讨论】:
-
在您显示的代码中,
getColor在IsVisible下没有缩进。它在你的真实代码中吗?它应该是。 另外请将Object更改为另一个名称 --- 与内置object混淆的风险太大。 还有,什么 Python 版本? -
PS 欢迎来到本站!感谢您在这个问题中包含详细信息 --- 许多人忘记这样做。查看tour 了解更多关于提出可以吸引高质量答案的问题的信息。您还可以获得一个阅读整个旅程的徽章。 :)
标签: python class inheritance pygame