我有班级英雄
myparam
我需要创建装饰符咒语,例如:
/****************************************************/
SET IDENTITY_INSERT [dbo].[XHQ_HIER_DEF] ON;
GO
INSERT INTO [dbo].[XHQ_HIER_DEF]
([HIER_KEY]
,[HIER_NAME]
,[HIER_DESC]
,[SYNONYM_DEF_LEVEL]
,[CRT_XHQUSERID]
,[CRT_TIMESTAMP]
,[CRT_TZ_BIAS]
,[UPDT_XHQUSERID]
,[UPDT_TIMESTAMP]
,[UPDT_TZ_BIAS])
SELECT [HIER_KEY]
,[HIER_NAME]
,[HIER_DESC]
,[SYNONYM_DEF_LEVEL]
,[CRT_XHQUSERID]
,[CRT_TIMESTAMP]
,[CRT_TZ_BIAS]
,[UPDT_XHQUSERID]
,[UPDT_TIMESTAMP]
,[UPDT_TZ_BIAS]
FROM [iNode-8-24-14-Orig].[dbo].[XHQ_HIER_DEF]
GO
SET IDENTITY_INSERT [dbo].[XHQ_HIER_DEF] OFF;
GO
/****************************************************/
但是当我使用它时,我会收到错误消息
class Hero:
def __init__(self):
self.positive_effects = []
self.negative_effects = []
self.stats = {
"HP": 128,
"MP": 42,
"SP": 100,
"Strength": 15,
"Perception": 4,
"Endurance": 8,
"Charisma": 2,
"Intelligence": 3,
"Agility": 8,
"Luck": 1
}
def get_positive_effects(self):
return self.positive_effects.copy()
def get_negative_effects(self):
return self.negative_effects
def get_stats(self):
return self.stats.copy()
TypeError跟踪(最近一次通话) 在()中 ----> 1个人=狂暴(男性)
class AbstractEffect(Hero):
def __init__(self, base):
self.base = base
def get_stats(self):
self.base.get_stats()
def get_positive_effects(self):
self.base.get_positive_effects()
def get_negative_effects(self):
self.base.get_negative_effects()
class Berserk(AbstractEffect):
def __init__(self):
self.positive_effects.append('Berserk')
self.stats.HP += 50
self.stats.Strength += 7
self.stats.Endurance += 7
self.stats.Agility += 7
self.stats.Luck += 7
self.stats.Intelligence -= 3
self.stats.Perception -= 3
self.stats.Charisma -= 3
怎么了?
答案 0 :(得分:0)
发生此错误的原因是因为Berserk
的构造函数不接受类型Man
的对象。因此,您必须要做的就是更改构造函数的参数,那样您就可以传入Berserk(man)
。
class Berserk(AbstractEffect):
def __init__(self, man):
#....
self.stats.Charisma -= 3
现在,由于Berserk(man)
接受2个参数,因此您不应收到该错误。有关构造函数的更多信息,您可以查看this StackOverflow question可能会提供更多的见解。