Key Difference – Herança Múltipla vs Multinível
Programação Orientada a Objetos (POO) é um paradigma para projetar um programa usando classes e métodos. Cenários do mundo real podem ser mapeados para objetos. Portanto, é fácil construir soluções de software. Uma classe é um projeto para construir um objeto. Ele contém propriedades e métodos. Por exemplo, antes de criar um objeto aluno, deve haver uma classe aluno com propriedades e métodos. Um aluno pode ter propriedades como identificação do aluno, nome e métodos como ler, escrever, estudar. Os métodos descrevem o comportamento enquanto as propriedades são os atributos. Após criar a classe, é possível criar objetos usando-as. A criação de objetos também é conhecida como instanciação de objetos. Objeto não existe isoladamente. Eles se comunicam com outros objetos e os dados são passados dentro dos objetos. Um pilar da POO é 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 de 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. A principal diferença entre herança múltipla e multinível é que a 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.
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 tem que gerenciar a dependência de ambas as classes base A e B. Heranças múltiplas não são amplamente utilizadas em projetos de software. Isso torna o sistema mais complexo porque uma classe está herdando muitas classes.
Por exemplo, suponha que a classe A e B tenham um método com o mesmo nome que é a soma() e a classe C está derivando ambas as classes. Após criar um objeto do tipo C e chamar o método sum(), pode ocorrer um erro, pois ambas as classes possuem 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 tem suporte na linguagem C++, mas linguagens como Java, C não oferecem suporte à Herança Múltipla. Em vez disso, essas linguagens 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 essa classe derivada uma classe base para uma nova classe.
Figura 02: Herança Multinível
A herança multinível tem 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 para B e B é a classe base para 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 para a classe B. A classe B é a classe base para a 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 é acessível 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 todos 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 é muito usada porque torna o sistema mais complexo. | A herança multinível é amplamente utilizada. |
Níveis de Classe | |
A Herança Múltipla tem dois níveis de classe, a saber, classe base e classe derivada. | A Herança Multinível tem três níveis de classe, a saber, classe base, classe intermediária e classe derivada. |
Resumo – Herança Múltipla vs Multinível
Herança é um dos principais pilares da Programação Orientada a Objetos. Existem diferentes tipos de herança; 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 tem uma classe base e uma classe derivada. A herança hierárquica tem uma classe base e muitas classes derivadas. A Herança Híbrida é uma combinação de Multinível e Herança 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íveis é que a 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. A herança multinível é amplamente utilizada do que a herança múltipla.
Baixe o PDF Herança Múltipla vs Multinível
Você pode baixar a versão em PDF deste artigo e usá-lo 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