Boa noite a todos,
No video ele faz o seguinte código
class Orcamento(object):
# removida as constantes
def __init__(self):
self.__itens = []
# começa com o estado em aprovação
self.estado_atual = Em_aprovacao()
self.__desconto_extra = 0
def aprova(self):
self.estado_atual.aprova(orcamento)
def reprova(self):
self.estado_atual.reprova(orcamento)
def finaliza(self):
self.estado_atual.finaliza(orcamento)
Creio que esteja errado e o correto seria
class Orcamento(object):
# removida as constantes
def __init__(self):
self.__itens = []
# começa com o estado em aprovação
self.estado_atual = Em_aprovacao()
self.__desconto_extra = 0
def aprova(self):
self.estado_atual.aprova(self)
def reprova(self):
self.estado_atual.reprova(self)
def finaliza(self):
self.estado_atual.finaliza(self)
Caso seja utilizando o self, fica o aviso para tirar esse problema, pois até no código fonte do github para download está passando como parâmetro o orcamento