2
respostas

Por que eu consigo instanciar um objeto a partir da subclasse sem usar super()?

Meu código:

class Artigo:
    def __init__(self, ano):
        self.ano = ano

class Livro(Artigo):
    pass

Minha interação no console:

>>> livro1 = Livro(1998)
>>> livro1.ano
1998
2 respostas

Acho que depois de assistir à aula seguinte (Explicando a herança), eu entendi. Se alguém puder confirmar esta explicação, agradeço:

Se eu não usar o método super() na subclasse, caso eu queira criar um objeto com essa subclasse mas inicializando com um atributo ou método extra (além dos que existem na classe mãe), o inicializador (__init__) da subclasse vai sobrescrever o da classe mãe. E, com isso, não vou ter acesso aos atributos e métodos da classe mãe.

O post foi fechado por inatividade após 6 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!