已經在這裏: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