Blog POO 2o. Pilar – Herança

POO 2o. Pilar – Herança

POO 2o. Pilar – Herança post thumbnail image

A herança é o segundo pilar da Programação Orientada a Objetos (POO) e desempenha um papel crucial ao permitir que classes compartilhem e reutilizem código de maneira eficiente. Com a herança, é possível criar novas classes com base em uma classe já existente, herdando atributos e comportamentos. Isso ajuda a reduzir a duplicação de código, facilita a manutenção e promove a extensibilidade do sistema.

Por que a Herança é Importante?

Herança é fundamental para evitar a duplicação de código. Imagine um cenário em um sistema de ERP, onde você tem diferentes tipos de entidades que compartilham características semelhantes, como clientes, fornecedores e funcionários. Todas essas entidades possuem atributos comuns, como nome, endereço e CPF. Em vez de repetir esses atributos e métodos em várias classes, você pode criar uma classe base (geral), chamada TPessoa, que possui essas características comuns. Outras classes, como TCliente e TFornecedor, podem herdar de TPessoa, economizando tempo e esforço ao evitar a duplicação de código.

Além disso, a herança facilita a manutenção e a extensão de funcionalidades. Se você precisar adicionar uma nova funcionalidade que é comum a todas as classes derivadas (clientes, fornecedores, etc.), basta adicionar essa funcionalidade na classe base. Todas as classes que herdam da classe base automaticamente terão essa nova funcionalidade.

Exemplo Prático em Delphi

Aqui está um exemplo básico de herança em Delphi, onde TCliente e TFornecedor herdam de TPessoa:

Explicação do Exemplo

  1. Classe Base TPessoa: Contém atributos e métodos comuns a qualquer tipo de pessoa no sistema, como nome, endereço e CPF. O método ExibirDados é declarado como virtual, permitindo que as classes derivadas o sobrescrevam.
  2. Classe TCliente: Herda de TPessoa e adiciona o atributo Credito, que representa o crédito disponível para o cliente. O método ExibirDados é sobrescrito (override) para incluir as informações de crédito, mas o método herdado da classe base (inherited) é chamado para exibir os dados comuns.
  3. Classe TFornecedor: Também herda de TPessoa e adiciona o atributo CNPJ. Assim como em TCliente, o método ExibirDados é sobrescrito para incluir o CNPJ, mas os dados básicos são exibidos chamando o método herdado.

Benefícios da Herança

  1. Reutilização de Código: Ao usar herança, classes especializadas herdam as funcionalidades da classe base, eliminando a necessidade de duplicar código comum.
  2. Facilidade de Manutenção: Alterações na classe base se propagam para as classes derivadas, o que facilita a implementação de novas funcionalidades em várias classes ao mesmo tempo.
  3. Organização e Extensibilidade: A herança torna o código mais modular e organizado. A classe base pode ser estendida com novas funcionalidades, e as classes derivadas podem sobrescrever métodos, adicionando comportamentos específicos sem alterar a lógica base.

O que veremos a seguir?

No próximo artigo, abordaremos o Polimorfismo, o terceiro pilar da POO. Veremos como ele permite que objetos de diferentes classes sejam tratados de maneira uniforme, promovendo a flexibilidade e simplificação do código.

Participe da Comunidade no Telegram

🚀 Quer continuar essa discussão e trocar ideias com outros desenvolvedores? Junte-se à nossa comunidade no Telegram! Lá, você pode comentar sobre o que achou deste artigo, tirar suas dúvidas e compartilhar suas experiências com POO e Delphi, e ainda discutir ou tirar suas dúvidas sobre os mais variados temas em uma comunidade com mais de 1.000 desenvolvedores.

🔗 Clique aqui para entrar na comunidade

Te vejo lá!

Adriano Santos

Deixe sua resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados