2
respostas

Por quê ter uma subclasse com mais acoplamentos é desvantagem?

Não consegui entender

2 respostas

Pois ela herdará funções que não são necessárias, por exemplo

class Playlist(list):
    def __init__(self, nome, programas):
        self.nome = nome
        self._programa = programa

acima a classe está herdando o list, que trás inúmeras funcionalidades que não utilizaremos, ou que nem conhecemos. A solução pra isso é simples:

class Playlist:

    def __init__(self, nome, programa):
        self.nome = nome
        self._programa = programa

    # Permite eu iterar meu objeto como se fosse uma lista
    # duck typing
    def __getitem__(self, item):
        return self._programa[item]

Eu criei um método especial que consegue iterar com meu objeto como se ele fosse uma lista, sem precisar herdar o list inteiro.

Okay, entendi. Obrigada.