已经在这里:Python class inherits object,这里What is a metaclass in Python?我还不确定如何让我的代码工作。我会说实话,这些解释对我来说有点复杂。 (顺便说一下,这全部在Python 3.4中)。如何在类之间共享属性和方法?
我试图让我的游戏中的对象形式的生物。例如:我想要一个名为龙的对象,但我希望Dragon继承类实体和类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',1000)
Dragon是说它没有两个类的所有参数?
怪物总是一种实体吗?龙总是一种怪物? – 101 2014-11-05 04:50:52
如果您要使用继承,请不要忘记调用父类方法实现。 (特别是'__init__') – warvariuc 2014-11-05 05:25:57
龙永远是一个怪物和实体。非常感谢你的viraptor和serkos! (我的代表不够高,无法让你两个都赞不绝口)。 P.S. warvariuc我不知道你的意思。 – 2014-11-06 00:20:00