Herança de classe Python: AttributeError: objeto '[SubClass]' não tem atributo 'xxx'
Eu tenho a seguinte classe e subclasse base:
<code>class Event(object): def __init__(self, sr1=None, foobar=None): self.sr1 = sr1 self.foobar = foobar self.state = STATE_NON_EVENT # Event class wrappers to provide syntatic sugar class TypeTwoEvent(Event): def __init__(self, level=None): self.sr1 = level self.state = STATE_EVENT_TWO </code>
Mais adiante, no meu código, estou inspecionando uma instância de uma classe TypeTwoEvent, verificando um campo que eu sei que existe na classe base - eu esperava que fosse padronizado para nenhum valor. No entanto, meu código gera a seguinte exceção:
AttributeError: o objeto 'TypeTwoEvent' não tem atributo 'foobar'
Fiquei com a impressão de que os campos da classe base seriam herdados pela subclasse e que criar uma instância de uma subclasse instanciaria a classe base (e, portanto, invocaria seu construtor) ...
O que estou perdendo aqui?. PorqueTypeTwoEvent
não tem umfoobar
atributo - quando a classe base da qual é derivada tem umfoobar
atributo?