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

ID ou Herança?

Minha dúvida é, em python nós devemos usar herança? sabendo que herança em outras linguagens como Java pode ser muito custo de processamento, eu utilizava IDs para guardar informações, por exemplo a classe Professor tinha um ID próprio e tinha um atributo do tipo long, que guardava o ID da pessoa no qual esse professor representava. Em python Devemos utilizar esse método com IDs ou usar herança?

3 respostas

Em Python, como em qualquer linguagem, Herança apenas quando for necessário, herança tende a deixar os sistemas mais acoplados, dificultando manutenções futuras. Além disso é uma analise que precisa ser feita levando em consideração o Framework, o ORM, o tipo do Projeto. Por exemplo, Django tem uma estrutura que aceita de forma razoável a herança para ORM, capaz que atender perfeitamente o exemplo que ele citou. Agora dizer se herança é a melhor solução apenas se aprofundando no entendimento do negócio.

Guilherme, a resposta é: Depende! Mas primeiro, precisamos lembrar que os exemplos utilizados nos cursos são didáticos. Apesar de serem feitos por pessoas mais do que competentes para isso o foco dos códigos é ensinar alguns conceitos e nem sempre acabam ficando otimizados. Não é para ser mesmo na minha opinião.

No front de batalha a gente acaba aprendendo, às vezes da pior forma, algumas práticas para driblar deficiências das linguagens (na verdade das ferramentas que implementam as linguagens) . Lembro desse problema com JAVA, algo que fazia também era isolar as classes quando percebia que uma estava com problemas de performance.

Com relação à herança do Python, sendo sincero, nunca usei em um trabalho que demandasse tanta performance a ponto de dar problemas. Pode ser que pessoas mais experientes e que participaram de projetos grandes tenham passado por isso.

Conclusão, eu continuaria a usar heranças porque acho que faz parte da OO e é uma boa prática. MAS se percebesse que a performance ficaria comprometida e isso fosse um problema eu tomaria outros caminhos como os IDs que você citou.

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