Python ::超类中的属性在继承子类

时间:2015-11-23 22:27:13

标签: python inheritance subclass superclass

我想知道为什么以下失败;基本上,继承子类( 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'

0 个答案:

没有答案