Qual é a diferença entre classe base e classe derivada em C ++

Índice:

Anonim

o principal diferença entre a classe base e a classe derivada em C ++ é que classe base é a classe já existente, enquanto classe derivada é a classe que pode herdar as propriedades e métodos da classe base.

C ++ é uma linguagem de programação de alto nível para fins gerais desenvolvida por Bjarne Stroustrup na Bell Labs. É um superconjunto da linguagem C. O programador pode implementar conceitos de Programação Orientada a Objetos (OOP) usando C ++. OOP ajuda a encontrar soluções para cenários do mundo real facilmente. Existem vários conceitos em OOP. Um deles é herança. Herança em C ++ se refere ao processo de permitir que uma classe use propriedades e métodos de uma classe já existente. A principal vantagem da herança é que ela oferece suporte à reutilização de código.

Classe base, C ++, classe derivada, herança, OOP

O que é classe base em C ++

Na herança, a classe já existente é a classe pai ou a superclasse. Também a chamamos de classe base. Os membros de uma classe podem ter modificadores de acesso como privado, público e protegido. Os membros privados são acessíveis na mesma classe, enquanto os membros públicos são acessíveis por qualquer classe. No entanto, os membros protegidos são acessíveis dentro da classe e por suas subclasses. Portanto, a classe derivada pode acessar os membros públicos e protegidos da classe base, mas não os membros privados.

O que é classe derivada em C ++

Classe derivada é a classe que pode usar as propriedades e métodos de uma classe já existente. É uma nova classe. Também a chamamos de classe filha ou subclasse.

Figura 1: Programa C ++ com classes base e derivadas

No programa acima, Vehicle é uma classe. Ele tem um método público chamado VehicleDetails. Car é outra classe e tem um método público chamado carDetails. Essas classes são conectadas por meio de herança. Vehicle é a classe base, enquanto Car é a classe derivada. Portanto, a classe Car pode usar seu próprio método (carDetails), bem como o método da classe base (VehicleDetails).

Existem vários tipos de herança em C ++.

Figura 2: Tipos de herança

Herança única - É um tipo de herança simples. A classe derivada herda apenas de uma classe base. A é a classe base enquanto B é a classe derivada.

Herança múltipla - A classe derivada herda de duas ou mais classes básicas. A e B são classes básicas, enquanto C é uma classe derivada.

Herança hierárquica - Muitas classes derivadas herdam de uma única classe base. A é a classe base. B, C, D são classes derivadas.

Herança multinível - A classe derivada herda de uma classe e essa classe herda de outra classe. A é a classe base de B. B é a classe base de C. C é a classe derivada de B. B é a classe derivada de A.

Herança híbrida - É uma combinação de vários tipos de herança. B, C são classes derivadas de A. D é a classe derivada de B e C.

Diferença entre classe base e classe derivada em C ++

Definição

A classe base é uma classe que ajuda a derivar ou criar novas classes, enquanto a classe derivada é uma classe criada ou derivada de uma classe já existente. Portanto, esta é a principal diferença entre a classe base e a classe derivada.

Sinônimos

A classe base também é chamada de classe-mãe ou superclasse, enquanto a classe derivada também é chamada de classe-filha ou subclasse.

Herança

Herança é a principal diferença entre a classe base e a classe derivada. A classe base não pode herdar propriedades e métodos da classe derivada. No entanto, a classe derivada pode herdar as propriedades e métodos da classe base.

Conclusão

A herança permite ao programador herdar membros de uma classe existente em uma nova classe. A principal diferença entre a classe base e a classe derivada em C ++ é que a classe base é a classe já existente, enquanto a classe derivada é a classe que pode herdar as propriedades e métodos da classe base. Em outras palavras, a classe base é a classe antiga, enquanto a classe derivada é a nova classe.

Referência:

1. “Herança C - ponto de Javat.” Www.javatpoint.com, disponível aqui.2. “Tipos de herança em C.” Tipos de topologia de rede em redes de computadores | Studytonight, disponível aqui.

Qual é a diferença entre classe base e classe derivada em C ++