O que é herança híbrida em C++? São tipos com exemplos
Publicados: 2021-05-27Costumamos usar o termo “Herança” em um contexto de programação. É um recurso praticado na programação para fazer o melhor reaproveitamento dos códigos. Se você se lembrar do conceito de “IS-A” em OOP (Programação Orientada a Objetos), descobrirá que é baseado no recurso de herança. A implementação de heranças ajudará você a obter ideias avançadas de projetos em C++.
Índice
O que é herança?
No processo de Herança, os objetos de uma classe adquirem as propriedades e o comportamento de outra classe. Aqui uma nova classe é derivada da classe base existente. A classe membro derivada geralmente é chamada de classe filha e o membro da classe base da classe pai. Depois que a classe filha é derivada, ela herda todas as propriedades e métodos da classe pai.
Além disso, a classe filha pode ter suas propriedades e métodos exclusivos destinados a uma finalidade. Os recursos adicionais adicionados localmente a uma classe existente não afetarão as propriedades herdadas da classe pai. Assim, a nova classe terá características combinadas de ambas as classes.
Herança em C++
Muitas vezes, na realidade, um programador precisa desenvolver um objeto que tenha que:
1) possui todas as qualidades de seu pai e, adicionalmente,
2) em alguns aspectos, a persistência é especial.
Codificar tais propriedades excepcionais na classe principal pode não ser necessariamente prático e econômico. Nesse caso, uma nova classe é derivada estendendo a classe base. Além disso, derivando-o de outra classe com qualidades adicionais. Dessa forma, você pode reutilizar, estender ou modificar atributos e comportamentos definidos em outras classes. Assim, a classe filha derivada de várias classes fornece um objeto que é fácil de manter e portar. A classe derivada é a classe especializada para a classe base.
Tecnicamente, a palavra-chave “extends” é usada para herdar uma classe. C++ usa o símbolo de dois pontos (“ : ”) para herdar de uma classe.
Tipos de heranças
O uso de uma combinação de heranças e implementação difere para um propósito que as classes são derivadas. Existem diferentes tipos de heranças disponíveis em C++, conforme listado abaixo:
- Herança única é onde uma classe derivada herda propriedades e comportamento de uma única classe base. Exemplo: Classe A → Classe B.
- Herança hierárquica é onde mais de uma classe derivada é criada a partir de uma única classe base. Exemplo: Classe A → Classe B → Classe C.
- Herança múltipla é para derivar uma classe de várias classes base. Aqui, os objetos filhos que os programadores criam terão aspectos combinados de características e recursos de várias classes pai. Esses objetos seguem suas hierarquias de classes base.
- A herança multinível é onde uma classe filha é derivada de outra classe derivada. Esse recurso carrega aspectos combinados de várias classes e segue suas hierarquias.
- A herança híbrida é um recurso heterogêneo do uso de heranças múltiplas. Aqui, uma classe filha é derivada de uma ou mais combinações de heranças simples, hierárquicas e multiníveis. Essa herança é adotada para programas que misturam diferentes tipos de herança; por exemplo, ao misturar uma única herança com várias heranças ou talvez uma situação em que várias heranças são misturadas em um único programa.
Exemplo Simples
Aqui a Classe B e a Classe C são derivadas da classe base, Classe A.
Uma classificação hierárquica de Carros mostra duas classes. Tanto os “Carros a Gasolina” como os “Carros Elétricos” são derivados da classe base 'Carros.
Herança híbrida em C++
Pode haver situações em que precisamos aplicar dois ou mais tipos de herança combinados para projetar um programa. Quando um programa envolve mais de um tipo de herança, ele é chamado de Herança Híbrida.
A herança híbrida é uma combinação de herança simples, múltipla e hierárquica. Normalmente, em heranças múltiplas, uma classe é derivada de duas classes em que uma das classes pai também é uma classe derivada e não uma classe base.
Herança híbrida em C++ é a herança onde uma classe é derivada de mais de uma forma ou combinações de qualquer herança. A herança híbrida em C++ também é chamada de herança multipath, onde uma classe derivada pode herdar propriedades da classe base em diferentes caminhos. Às vezes também chamado de herança multipath. Por exemplo, isso pode ser alcançado com uma combinação de herança multinível e hierárquica.
Em suma, a herança híbrida é uma combinação de dois ou mais tipos de herança. Por exemplo, implementando heranças simples e multiníveis no mesmo programa.
Diagrama de Blocos de Herança Híbrida
O diagrama representa a combinação híbrida de duas heranças; a herança simples e as heranças múltiplas. Aqui, na herança simples, a classe B é derivada da classe A. Da mesma forma, em heranças múltiplas, a Classe D é herdada de várias classes. Aqui classe B e classe C. Assim, uma mistura de herança simples e herança múltipla forma uma herança híbrida.
A herança híbrida é aplicável nos cenários em que somos obrigados a aplicar mais de uma herança em um programa.
Sintaxe da herança híbrida em C++
Uma sintaxe e semântica típicas para herança híbrida em C++ seguirão conforme ilustrado abaixo:
Exemplos de herança híbrida em C++
Exemplo 1: Herança Única + Múltipla
Vamos ver como heranças simples e múltiplas são implementadas.
Cada bloco neste diagrama representa uma classe e a seta correspondente a herança de uma classe.
Exemplo 2: Herança simples + multinível
Também podemos implementar outros tipos de herança para constituir heranças híbridas.
Vamos considerar um exemplo em tempo real .
Derivamos uma subclasse de carro da classe Veículo. Outra classe caracteriza Racing. Quando derivamos uma entidade final, tanto da classe Carro quanto da classe Corrida, ela fornecerá uma saída combinada. Este derivado é a Ferrari – o carro de corrida.
Aqui está um programa simples para ilustrar o conceito de herança híbrida em C++ .
O código de exemplo
A saída
Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
Espero que este artigo tenha ajudado você a entender o conceito e os tipos de Herança Híbrida em C++ . Os alunos no fluxo de programas de computador e relacionados à computação podem aprimorar suas habilidades e credibilidade técnica, como conceitos de POO. O upGrad fornece recursos e uma base de conhecimento para estimular esses profissionais a se especializarem em programação e competirem no mercado da indústria. No upGrad, você também tem a oportunidade de explorar networking profissional e desenvolvimento de habilidades.
Esperamos que você tenha uma excelente oportunidade de aprendizado na execução desses projetos C++. Se você estiver interessado em aprender mais e precisar de orientação de especialistas do setor, confira o Programa PG Executivo da UpGrad & IIIT Banglore em Desenvolvimento de Software Full-Stack .
O que é herança na programação orientada a objetos?
A herança é um mecanismo de reutilização de código e ajuda a simular o mundo real. Ele estende o conceito de abstração de dados em OOP. É o processo pelo qual uma classe adquire as propriedades de outra classe. É fundamental em POO que uma classe só possa ser definida em termos de outra classe. Isso se deve ao conceito de abstração. A herança é um mecanismo que cria novas classes de objetos na mesma hierarquia de classes que outros objetos. O principal benefício da herança é a reutilização de código. É uma forma de reutilizar o código. Se você tem uma classe e ela faz um trabalho específico, você também pode usá-la para outro trabalho. Basta dizer, um carro e um caminhão fazem o mesmo trabalho, então você pode usar o mesmo código para dirigi-los.
Quais são os 3 escopos de herança em C++?
Os escopos de herança em C++ são privados, protegidos e públicos. Herança privada é onde uma classe é herdada de outra classe, mas a classe derivada não pode ser acessada fora da classe. Esses tipos de herança só podem ser usados quando a classe base não deve ser acessada fora da classe. A herança protegida é usada quando a classe base não deve ser acessada fora da classe e deve ser acessada fora da classe. A herança pública é usada quando a classe base deve ser acessada fora da classe.
O que é herança múltipla em C++?
Herança múltipla é a capacidade de derivar uma classe de mais de uma classe. Esse recurso não está disponível em C. Esse é um dos recursos mais importantes de C++ que oferece suporte à programação orientada a objetos. A implementação de herança múltipla em C++ é baseada no conceito de classes de herança. A herança múltipla é um mecanismo que suporta o modelo de programação orientado a objetos que pode ser usado para resolver alguns problemas, como reutilização comportamental e reutilização de código. A reutilização de código sempre foi um problema em C++, porque C++ tem apenas suporte a herança única. A herança múltipla é obtida combinando várias interfaces em um objeto.