Porque no código abaixo foi colocado o super para o atributo programas e para o nome não?
class Playlist(list):
def __init__(self, nome, programas):
self.nome = nome
super().__init__(programas)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Porque no código abaixo foi colocado o super para o atributo programas e para o nome não?
class Playlist(list):
def __init__(self, nome, programas):
self.nome = nome
super().__init__(programas)
Olá, tudo bem? Espero que sim!
O super se refere à classe da qual Playlist está herdando, ou seja, a classe list. Portanto os programas serão passados como argumento da inicialização da lista.
Portanto ao se criar um objeto do tipo Playlist('nome_exemplo', lista_exemplo), o argumento lista_exemplo será transmitido para o __init__() da classe list, recebendo todas as propriedades de listas.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!
Então só para deixar isso mais claro para mim que estou começando. O super().initi faz referência a classe mãe. correto?
Abraços
Isso mesmo, faz referência à classe mãe.