Qual é a diferença entre herança e composição

Índice:

Anonim

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