我想知道为什么以下失败;基本上,继承子类( SubClass )似乎无法访问它继承自的超类( SuperClass )中的属性。
顺便说一句,下面的所有三个文件都在同一个目录中,为了完整起见,我使用的是Python3。
有什么想法吗?我认为它非常简单。谢谢!
超类( ./ super_class.py中 SuperClass ...
class SuperClass(object):
def __init__(self):
self.varSuper = 'varSuper_value'
继承子类( ./ sub_class.py中的 SubClass ) ...
from super_class import SuperClass
class SubClass(SuperClass):
def __init__(self):
super(SuperClass, self).__init__()
self.varSub = 'varSub_value'
驱动程序/测试程序脚本(./ driver.py) ...
#! /usr/bin/env python3
from sub_class import SubClass
print(SubClass().varSub) # Works: "varSub_value"
print(SubClass().varSuper) # Excepts: I expected "varSuper_value"
例外......
user@linux$ ./driver.py
varSub_value <--- GOOD
Traceback (most recent call last):
File "./driver.py", line 6, in <module>
print(SubClass().varSuper) <--- NO GOOD
AttributeError: 'SubClass' object has no attribute 'varSuper'