【发布时间】:2015-04-10 14:36:10
【问题描述】:
让我们考虑以下程序:
class Object:
def __init__(self,name,shortDesc):
self.name=name
self.shortDesc=shortDesc
class Player(Object):
def __init__(self,health,armor,room,inventory,wearing,gender,money):
self.health=health
self.armor=armor
self.room=room
self.inventory=inventory
self.wearing=wearing
self.gender=gender
self.money=money
player=Player("Will","Amazing",100,0,"start",[],[],"Male",0)
好吧,我不太适应多态性,但我真的不明白为什么这不起作用。Python 似乎要求 Player 类给出 8 个参数,但不考虑 Object 中的参数.
我正在尝试做的事情可能是不可能的,如果是这样,请纠正我如何实现类似的目标......
编辑:对不起,我是个彻头彻尾的白痴……我的意思是,由于我对继承缺乏了解,或者无法将自己的参数添加到继承的函数中,我是否犯了一些明显的错误?
【问题讨论】:
-
搞错这里的
PERSON是什么? -
那是我的错误...我的意思是 PLAYER。
-
PLAYER也没有在任何地方定义。请发布 实际 代码并解释您正在尝试做什么,因为这个问题现在不是很明显 -
@user2592835:那么这里的
PLAYER是什么?你只有Player; Python 区分大小写。 -
你是不是故意不调用超类的构造函数?
标签: python oop polymorphism