【发布时间】:2019-04-10 11:01:06
【问题描述】:
我是 Python 新手,在继承和使用方面有困难 超级()
下面的代码给了我这个错误
发生异常:AttributeError 'ObjB' 对象没有属性 'job'
但我不确定为什么 as job 是 ObjB 的一个属性
测试代码是这样的..
class ObjA():
def __init__(self, astr):
self.name = astr
self.decorate()
def decorate(self):
self.name = '['+self.name+']'
class ObjB(ObjA):
def __init__(self, aname, ajob):
super().__init__(aname)
self.job = ajob
def decorate(self):
super().decorate()
self.name = self.name + ' is a ' + self.job
test = ObjA('Fred')
print(test.name)
test2 = ObjB('Fred', 'Baker')
print(test2.name)
我期待的是这个
[Fred]
[Fred] is a Baker
【问题讨论】:
标签: python python-3.x class inheritance super