Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Curiosidade sobre classes

Levando em consideração o contexto do desafio, criação de uma classe para ajudar na formatação de datas. Qual a vantagem de se criar uma classe para esse objetivo em comparação a uma função?

Com isso eu quero entender quais os benefícios de se criar classes em comparação a funções e quais os contextos em que cada uma e mais adequada.

Desde já, agradeço a todos que responderem.

2 respostas
solução!

Bom dia, Anedino, tudo bem?

Esta é uma questão muito válida e importante e eu te garanto que todos que começam a estudar o paradigma de Orientação a Objetos se perguntam isso. Eu achei uma postagem bem interessante que aborda isso e está neste link: https://www.reddit.com/r/learnpython/comments/1mc8ih/why_should_you_use_classes_instead_of_functions/.

Dentro dos pontos citados, achei interessante quando ele citou que muitas vezes ao usar funções, elas acabam não ficando tão "bonitas", agradáveis dentro do seu código, visto que você tem que vincular não somente os mesmos argumentos do método como também a própria variável que vai ser trabalhada. Além disso, o fato de você poder criar instâncias significa que você consegue isolar as informações contidas dentro do objeto e também criar métodos de mesmo nome em classes completamente diferentes, cada uma fazendo sentido dentro do seu contexto.

Por fim, pra mim um dos pontos mais fortes da POO é a questão do encapsulamento, em que você consegue isolar completamente todas as características (atributos) e funções (métodos) dentro de uma única estrutura, criando uma interface com usuário e, dessa forma, o usuário não precisa ter nenhum conhecimento do que acontece dentro do objeto, apenas aquilo que ele tem e o que ele faz.

No caso do exercício em questão, criar uma função ao invés de uma classe não faria diferença, visto que ele apenas faz um procedimento simples. Porém, se fosse adicionar mais funções dentro da data definida, o uso de classe começaria a ser mais indicado.

Espero ter ajudado! Bons estudos!

Obrigado pela resposta Gian Gabriel Panacioni.

Realmente, nesse fase inicial de aprendizado, as classes não parecem tão usuais. Com a explicação ficou mais interessante. Consegui entender melhor a aplicabilidade das classes. E vejo que é uma questão de avaliar o que se encaixa melhor em cada situação, se uma função ou uma classe.

Agradeço o tempo que dedicou para me tirar essa dúvida. Abraços.