1
resposta

Fabricando classes com métodos análogos

Só por curiosidade, essa situação que foi explicada usando o pato e o carro recebe o nome de ducktyping, não?

1 resposta

Olá Gustavo, tudo bem com você?

Peço desculpas pela demora no retorno.

O Duck Typing por definição diz que “Se anda como um pato e grasna como um pato, então deve ser um pato”, o que quer dizer que o tipo ou a classe de um objeto é menos importante que os métodos que ele define. Em vez disso, é verificado a presença de um determinado método ou atributo. Então supondo uma classe que tenha implementado o método __len__, que pertence a um str, list ou dict, então, através do conceito de duck typing, essa classe deve ser provavelmente um str, list ou dict, por ter implementado o método __len__.

Já o modelo apresentado durante a aula, é um padrão de projetos, o Factory Method, nesse padrão de projeto temos um método que será responsável pela criação dos objetos, instanciando as classes conforme os parâmetros informados e criando um objeto a partir dessa referência, assim o usuário não acessa diretamente a classe, recebendo apenas o objeto já construído. Mas, devido as classes FilaPrioritaria e Fila Normal implementarem métodos com nomes semelhantes e fazerem operações semelhantes, poderiam sim ser associadas ao conceito de duck typing, pois todas são uma Fila.

Para aprimorar ainda mais o seu aprendizado sobre o padrão de projeto Factory, recomendo a leitura do seguinte artigo, que irá abordar com detalhes o uso deste padrão:

O artigo acima está em Inglês caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software