Diferença entre herança múltipla e multinível

Diferença de chave - herança múltipla versus herança multinível
 

A Programação Orientada a Objetos (OOP) é ​​um paradigma para projetar um programa usando classes e métodos. Cenários do mundo real podem ser mapeados para objetos. Portanto, é fácil criar soluções de software. Uma classe é um blueprint para construir um objeto. Ele contém propriedades e métodos. Por exemplo, antes de criar um objeto de aluno, deve haver um aluno de classe com propriedades e métodos. Um aluno pode ter propriedades como identificação do aluno, nome e métodos como ler, escrever e estudar. Métodos descrevem o comportamento enquanto propriedades são os atributos. Após criar a classe, é possível criar objetos usando-os. A criação de objetos também é conhecida como Instanciação de Objetos. O objeto não existe isoladamente. Eles se comunicam com outros objetos e os dados são passados ​​dentro dos objetos. Um pilar da OOP é a herança. O objetivo da herança é aumentar a reutilização do código. Ele cria uma nova classe de propriedades e métodos da classe já existente. A classe existente é conhecida como classe base e a nova classe é chamada classe derivada. Herança Múltipla e Herança Multinível são tipos de herança. Este artigo discute a diferença entre eles. o diferença chave entre herança múltipla e multinível é que Herança Múltipla é quando uma classe herda de muitas classes base, enquanto a Herança Multinível é quando uma classe herda de uma classe derivada, tornando essa classe derivada uma classe base para uma nova classe.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é herança múltipla
3. O que é herança multinível
4. Semelhanças entre herança múltipla e multinível
5. Comparação lado a lado - herança múltipla versus multinível em forma de tabela
6. Resumo

O que é herança múltipla?

Herança múltipla é quando uma classe herda mais de uma classe base.

Figura 01: Herança múltipla

A B e C são classes. A e B são classes base e C é a classe derivada. A classe C precisa gerenciar a dependência das classes base A e B. Várias heranças não são amplamente usadas em projetos de software. Isso torna o sistema mais complexo porque uma classe está herdando muitas classes.

Por exemplo, suponha que as classes A e B tenham um método com o mesmo nome, que é a soma (), e a classe C esteja derivando as duas classes. Após criar um objeto do tipo C e chamar o método sum (), ele pode causar um erro porque ambas as classes têm o mesmo método. O compilador não sabe qual função chamar. Portanto, a herança múltipla aumenta a complexidade de um sistema. A herança múltipla é suportada na linguagem C ++, mas linguagens como Java, C # não suportam herança múltipla. Em vez disso, esses idiomas usam uma interface semelhante a uma classe, mas não pode ser instanciada.

O que é herança multinível?

Herança multinível é quando uma classe herda de uma classe derivada, tornando a classe derivada uma classe base para uma nova classe.

Figura 02: Herança multinível

A herança multinível possui três níveis. A classe intermediária que B herda da classe A e a classe C herda da classe B. A é a classe base de B e B é a classe base de C.

Um programa que implementa a herança multinível é o seguinte. O programa é escrito usando Java.

Figura 03: Programa que implementa a herança multinível

De acordo com o programa acima, a classe A é a classe base da classe B. A classe B é a classe base da classe C. Todas as propriedades e métodos da classe A são acessíveis pela classe B. Todas as propriedades e métodos da classe B são acessíveis pela classe C. Portanto, a classe C pode acessar propriedades e métodos de A e B. Ao criar um objeto do tipo C, é possível chamar os três métodos A (), B () e C (). A saída dará A, B, C.

Qual é a semelhança entre herança múltipla e multinível?

  • Ambos são tipos de herança.

Qual é a diferença entre herança múltipla e multinível?

Herança Múltipla vs Herança Multinível

Herança Múltipla é um tipo de Herança em que uma classe herda de mais de uma classe base. Herança multinível é um tipo de herança que herda de uma classe derivada, tornando essa classe derivada uma classe base para uma nova classe.
 Uso
A herança múltipla não é amplamente usada porque torna o sistema mais complexo. A herança multinível é amplamente utilizada.
Níveis de classe
A herança múltipla possui dois níveis de classe, a saber, classe base e classe derivada. A herança multinível possui três níveis de classe: classe base, classe intermediária e classe derivada.

Sumário - Herança Múltipla vs Multinível

A herança é um dos principais pilares da programação orientada a objetos. Existem diferentes tipos de herança; eles são herança de nível único, herança multinível, herança múltipla, herança hierárquica e herança híbrida. A herança de nível único possui uma classe base e uma classe derivada. A herança hierárquica possui uma classe base e muitas classes derivadas. A herança híbrida é uma combinação de herança multinível e múltipla. Este artigo descreveu a diferença entre herança múltipla e herança multinível. A diferença entre heranças Múltiplas e Multinível é que a Herança Múltipla ocorre quando uma classe é herdada de muitas classes base, enquanto a Herança Multinível é quando uma classe herda de uma classe derivada, tornando essa classe derivada uma classe base para uma nova classe. A herança multinível é amplamente usada que a herança múltipla.

Faça o download do PDF Herança múltipla versus multinível

Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui Diferença entre herança múltipla e multinível

Referência:

1. Singh, Chaitanya, et al. “Tipos de herança em Java: único, múltiplo, multinível e híbrido.” Beginnersbook.com, 6 de dezembro de 2013. Disponível aqui
2.tutorialspoint.com. "Herança Java". O ponto. Disponivel aqui 

Cortesia da imagem:

1. 'Herança Múltipla' Por Suman Maverick Gangulian Suman420 - Próprio trabalho, (CC BY 3.0) via Commons Wikimedia 
2. 'Herança multinível' Por Autor: Suman Maverick Gangulian Suman420 () 12:03, 2 de março de 2015 (UTC) - Trabalho próprio, (CC BY 3.0) via Commons Wikimedia