Características de herança de programação, tipos, exemplos

Características de herança de programação, tipos, exemplos

O herança na programação Orientado a Objeto É uma maneira de organizar objetos em uma hierarquia do mais geral ao mais específico. É o gadget usado para estender uma classe em outra classe, mantendo uma execução análoga.

Na maioria das classes -idiomas orientados para os objetos baseados em classe, um objeto criado através da herança, chamado de objeto filho, obtém todas as propriedades e comportamentos do objeto pai.

Demonstração simples de herança na orientação de objetos. Fonte: Pluke / CC0 Creative Commons CC0 1.0 Domínio Público Universal

Portanto, é uma qualidade que representa a relação entre diferentes classes. A herança permite que uma classe tenha o mesmo comportamento que outra classe e expanda ou adapte esse comportamento para fornecer ação especial para necessidades específicas.

A herança pode ajudar a representar objetos que têm algumas diferenças e algumas semelhanças na maneira como eles funcionam. Toda a funcionalidade que os objetos têm em comum podem ser colocados em uma classe base e depois definir uma ou mais subclasses com sua própria funcionalidade personalizada.

[TOC]

Características da herança

A herança é uma das principais características da programação orientada ao objeto, que serve para definir uma nova classe de classes existentes.

Ou seja, novas classes das classes base existentes podem ser derivadas, adicionando novos recursos. Você não tem que escrever do zero. Portanto, a herança fornece uma maneira de reutilizar facilmente o código existente.

Se você já tem uma classe que faz quase tudo o que deseja, pode criar uma subclasse na qual parte do seu comportamento é parcialmente cancelada, ou talvez alguma nova funcionalidade seja adicionada.

Uma classe derivada herda todos os métodos da classe base, exceto o seguinte:

Pode atendê -lo: computadores analógicos: características, componentes, tipos

- Construtores, Destruidores e Caso -Classe Builders.

- Operadores sobrecarregados da classe base.

- Funções amigáveis ​​da classe base.

Hierarquia

Como uma árvore genealógica, a herança serve para formar uma hierarquia de classes. É importante observar que os atributos determinados para uma classe base estarão automaticamente presentes na classe derivada. Além disso, os métodos para a classe base funcionarão para derivativos.

Dizem que uma aula será subclasse da classe de que herda. Por outro lado, esta classe será sua superclasse. Pode se referir à classe mais genérica como uma classe base, porque está na base da hierarquia.

Polimorfismo

A herança é muito popular em alguns idiomas com tipos estáticos, porque permite ao programador evitar algumas das restrições do tipo estático.

Um objeto que herda de outro objeto é considerado um subtipo desse objeto. Um exemplo pode ser o "instrutor" e "estudante" objetos, cada um dos quais herda a "pessoa".

Se o instrutor e o aluno forem a mesma pessoa, você pode escrever uma função que aceite o tipo de pessoa como um parâmetro e que funciona no instrutor e nos objetos do aluno, porque ambos são herdeiros da pessoa.

Tipos de herança

Herança única

Quando uma classe derivada herda as propriedades e o comportamento de uma única classe. Isto é, uma classe se estende a outra classe única.

Herança multinível

Refere -se ao gadget onde você pode herdar de uma classe derivada, tornando esta classe derivada a classe base para uma nova classe. Isto é, resulta quando uma classe derivada é criada a partir de outra classe derivada.

Pode servir a você: von Neumann Arquitetura: origem, modelo, como funciona

Herança hierárquica

Nesta herança, muitas subclasses herdam de uma única classe. Isto é, acontece quando uma única classe base é herdada por mais de uma classe derivada.

Herança híbrida

É a herança resultante quando qualquer uma das três heranças anteriores (única, hierárquica e multinível) são combinadas).

Herança múltipla

Corresponde à figura da herança quando uma classe herda mais de uma superclasse. O inconveniente existente com esse tipo de herança é que a classe derivada terá que processar a dependência que tem com duas classes base.

Por outro lado, esse tipo de herança permite que os programadores erguem classes que combinam aspectos de várias classes e suas hierarquias correspondentes.

Tipos de herança de uma classe base

Herança pública

Quando uma classe é derivada de uma classe de base pública, os membros públicos da classe base se tornam membros públicos da classe derivada e os membros protegidos da classe base se tornam membros protegidos da classe derivada.

Os membros particulares de uma superclasse nunca serão acessíveis diretamente de uma classe derivada, mas você pode ter acesso a eles através de chamadas feitas para membros públicos e protegidos da classe base.

Herança protegida

Quando é criada uma classe que herda de uma superclasse protegida, membros públicos e protegidos dessa superclasse se tornarão membros protegidos da classe derivada.

Herança privada

Quando uma subclasse é criada a partir de uma superclasse privada, membros públicos e protegidos dessa superclasse se tornarão membros particulares da subclasse.

Exemplos

Exemplo em Python

Para mostrar como o princípio da herança funciona, robôs ou uma classe melhor de robôs serão tomados na linguagem de programação Python. Para isso, uma classe chamada robotmedic será especificada (Médico), que é derivado da superclasse robô.

Pode atendê -lo: plantas industriais do Peru

Se o código de classe RobotMed for observado, pode -se ver que nenhum atributo ou método foi definido nesta classe.

Como a classe robótica é uma subclasse de robô, herde o método __init__ e say_hi neste caso. Heritar esses métodos significa que eles podem ser usados ​​como se tivessem sido definidos na classe RobotMed.

Quando uma instância robótica é criada, a função __init__ também criará um atributo de nome. O método SAY_HI pode ser aplicado ao objeto robotmedic “y”, como pode ser visto no resultado do código anterior.

Exemplo em c++

Uma classe pode herdar mais de uma classe, o que significa que pode herdar dados e funções de várias superclasses. Para definir uma classe derivada, uma lista de derivação de classe é usada para especificar as classes base.

Uma lista de referência de classe no C ++ nomeia uma ou mais classes base e tem a seguinte maneira: Aula Classe Derced: Acesso-usecifier Classe base, na que Acesso-usecifier é público, Protegido qualquer Privado, e Classe base É o nome de uma classe previamente definida. Se não for usado Acesso-usecifier, toma Privado por padrão.

A superclasse "forma" e sua classe derivada "retângulo" podem ser consideradas a seguinte:

Quando o código anterior é compilado e executado, ocorre o seguinte resultado: "Área Total: 35".

Referências

  1. Dave Braunschweig (2020). Herança e polimorfismo. Comunidade abus. Retirado de: Pressione.Um ônibus.Comunidade.
  2. Curso Python (2020). Herança. Retirado de: Python Course.UE.
  3. Mentor de dados (2020). R herança. Retirado de: Datamentor.Io.
  4. Tutorials Point (2020). Herança de C ++. Retirado de: TutorialSpoint.com.
  5. Informações líquidas (2020). Diferentes tipos de herança. Retirado de: Informações líquidas.com.