来到这里:Python class inherits object,在这里What is a metaclass in Python?我仍然不确定如何让我的代码正常运行。说实话,这些解释对我来说有点复杂。 (顺便说一句,这完全在Python 3.4中)。
我试图以生物的形式为我的游戏制作对象。示例:我想要一个名为Dragon的对象,但我希望Dragon继承类Entity和类Monster。
以下是我所拥有的:
class Entity:
id = 0
xLocation= 0
yLocation = 0
name = ''
description = ''
def __init__(self, id, xLocation, yLocation, name, description):
self.xLocation = xLocation
self.yLocation = yLocation
self.id = id
self.name = name
self.description = description
class Monster:
life = 0
pierce = 0
slash = 0
blunt = 0
pierceReduction = 0
slashReduction = 0
bluntReduction = 0
defenseBonus = 0
score = 0
def __init__(self, pierceReduction, bluntReduction, slashReduction, price, name, score):
self.pierceReduction = pierceReduction
self.bluntReduction = bluntReduction
self.slashReduction = slashReduction
self.price = price
self.name = name
self.score = score
class Structure:
pass
Monster = Entity
Dragon = Monster
我不知道如何向龙提供实体和怪物的所有价值?显然将Dragon直接设置为怪物并不起作用。
*****我现在试过这个*****:
类结构: 通
龙类(实体,怪物): 通Dragon(10,10,10,1000,' Dragon',1000)
龙说它不具备这两个类的所有参数吗?
答案 0 :(得分:0)
您可以在声明中继承Entity类:class Monster(Entity):
。您可以在documentation
答案 1 :(得分:0)
Python可以拥有从多个父级继承的类。你可以这样做:
class Dragon(Monster, Entity):
# class details
确保这些类之间的解析顺序符合您的预期。有关它的更多详细信息,请搜索“python mro”。