我有http://blog.thedigitalcatonline.com/blog/2014/08/21/python-3-oop-part-4-polymorphism/#.VvwAbjG1XGB的以下内容
class Room:
def __init__(self, door):
self.door = door
def open(self):
self.door.open()
def close(self):
self.door.close()
def is_open(self):
return self.door.is_open()
class Door:
def __init__(self):
self.status = "closed"
def open(self):
self.status = "open"
def close(self):
self.status = "closed"
def is_open(self):
return self.status == "open"
当我这样做的时候:
^{pr2}$我想它应该返回“closed”而不是False,为什么这个不起作用?在
它不起作用是因为它完全按照你说的去做。你的代码是:
而不是
^{pr2}$这就是你要找的行为。在
一切正常。此方法返回
self.status == "open"
的结果。默认情况下,此门是"closed"
,因此返回值是False
。在代码中有两个问题:
self.status
。在相关问题 更多 >
编程相关推荐