Qual é a diferença entre herança e composição
Índice:
o principal diferença entre herança e composição é que a herança permite o uso de propriedades e métodos de uma classe existente na nova classe, enquanto a composição é um tipo especial de agregação que descreve a propriedade entre os objetos associados.
A Programação Orientada a Objetos (OOP) é o principal paradigma usado no desenvolvimento de software. Ele permite que os programadores modelem o software usando um conjunto de objetos. Um objeto é uma entidade que possui estado e comportamentos. Os desenvolvedores criam objetos usando uma classe. Portanto, uma classe é um projeto. Além disso, uma classe contém propriedades e métodos. As propriedades representam o estado de um objeto, enquanto os métodos denotam os comportamentos de um objeto. Além disso, Herança e Composição são dois conceitos liberados para OOP.
Agregação, classe, composição, herança, métodos, objetos, OOP
O que é herança
Herança se refere ao uso de propriedades e métodos de uma classe já existente em uma nova classe. Chamamos essa classe já existente de classe pai, superclasse ou classe base. A nova classe é chamada de classe filha, subclasse ou classe derivada. O desenvolvedor não precisa escrever código desde o início por causa da herança. Ele pode usar as propriedades e métodos de uma classe existente na nova classe usando herança. Portanto, a herança aumenta a capacidade de reutilização do código.
Existem vários tipos de herança.
Herança de nível único - Por exemplo, suponha que haja duas classes: A e B. A classe B herda da classe A. Então, é uma herança de nível único.
Herança multinível - Este tipo de herança possui uma classe intermediária. Por exemplo, suponha que existam três classes: A, B e C. A classe C herda da classe B enquanto a classe B herda da classe A.
Herança Múltipla - Para entender esse conceito, suponha que existam três classes como A, B e C. A classe C herda de ambas as classes A e B. C é a subclasse, enquanto A e B são superclasses.
Herança Hierárquica - Quando há três classes como A, B e C. As classes B e C herdam da classe A. Portanto, a classe A é a superclasse e as classes B e C são as subclasses.
Herança Híbrida - Esta é uma combinação de heranças de vários níveis e múltiplas. Quando A, B, C e D são classes, B e C herdam de A enquanto D herda de B e C.
O que é agregação
É importante entender a agregação antes de entender a composição. Em OOP, os objetos se comunicam uns com os outros usando métodos. Agregação é uma associação que descreve o relacionamento “tem um” entre os objetos. Não há dependência entre os dois objetos. Por exemplo, suponha uma sala de aula e um aluno. O objeto aluno pode existir sem o objeto sala de aula. Portanto, esta é uma agregação. Em outras palavras, se a parte pode existir fora do todo, chamamos isso de agregação.
O que é composição
Composição é um tipo especial de agregação que implica propriedade. Um objeto depende de outro objeto e existe uma dependência. Vejamos um objeto da escola e um objeto da sala de aula. O objeto sala de aula não pode existir sem o objeto escola. Se o objeto da escola for destruído, o objeto da sala de aula também será destruído. Assim, existe uma dependência entre esses dois objetos. Então, esta é uma composição. Em outras palavras, se a parte não pode existir fora do todo, a chamamos de composição.
Diferença entre herança e composição
Definição
Herança é a metodologia de criação de uma nova classe usando as propriedades e métodos de uma classe existente, enquanto a composição é um tipo especial de agregação que implica propriedade. Portanto, esta é a principal diferença entre Herança e Composição.
Funcionalidade
Uso
Outra diferença entre Herança e Composição é que a herança fornece capacidade de reutilização do código, enquanto a composição permite representar associações.
Conclusão
Herança e composição são conceitos relacionados a OOP. A principal diferença entre herança e composição é que a herança permite o uso de propriedades e métodos de uma classe existente na nova classe, enquanto a composição é um tipo especial de agregação que descreve a propriedade entre os objetos associados.
Referências:
1. carreira, pessoas. 6 5 Using Aggregation and Composition, People Career, 22 de maio de 2015, disponível aqui. 2. ”Herança em Java.” Www.javatpoint.com, disponível aqui.
Cortesia de imagem:
1. ”Diagrama de herança” de Pluke - Trabalho próprio (CC0) via Commons Wikimedia
![Qual é a diferença entre herança e composição Qual é a diferença entre herança e composição](https://img.books-kingdom.com/images/002/image-4961.jpg)