Herança de classe Python: AttributeError: objeto '[SubClass]' não tem atributo 'xxx'
Eu tenho a seguinte classe e subclasse base:
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
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?