Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Muita gente acha que sobrescrever um método é uma substituição completa, mas na prática, o uso de super mostra que a coisa é mais flexível.
Quando um método é sobrescrito, o que acontece é uma reimplementação na classe filha, mas a herança ainda mantém a ligação com o método original do pai. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Isso é útil para expandir funcionalidades sem perder o comportamento base. Você pode chamar o método do pai usando super, e aí, dentro do método sobrescrito, fazer ajustes ou complementos. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
Por exemplo, numa classe de veículo, a gente pode querer exibir uma mensagem padrão e acrescentar algo específico na moto. Assim, fica mais modular e controlado. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
No seu time, já passaram por esse tipo de situação? Como vocês usam o super na prática para facilitar manutenção e entendimento do código? Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No meu caso, às vezes o problema é que esquecer de chamar super acaba gerando bugs difíceis de detectar.
Na minha equipe, a gente usa bastante super pra manter o comportamento padrão e só acrescentar o que muda na classe filha. Assim fica mais fácil de manter e entender o fluxo.
Exato, Bruno. No meu time, a gente também gosta de usar super pra cuidar para que o método do pai seja executado, principalmente em casos de inicialização ou validações que não podem ser puladas.
Eu acho que o uso de super ajuda bastante na observabilidade também, pq dá pra rastrear de onde veio aquela lógica na hora de debugar, especialmente em hierarquias complexas.