Introdução à herança em C #

A herança em C # é o processo de aquisição de todas as propriedades de uma classe em outra classe. Existem duas classes conhecidas como classe base e classe derivada. A classe base também é conhecida como classe pai e as propriedades ou métodos dessa classe que queremos herdar para outra classe.

A classe derivada é conhecida como classe filha, usada para herdar as propriedades e os métodos da classe base ou da classe pai. Isso ajuda a reutilizar o mesmo código novamente e não é necessário definir as mesmas propriedades novamente.

A herança é um dos conceitos poderosos ou atributos fundamentais da linguagem de programação orientada a objetos. É amplamente utilizado em toda a linguagem de programação baseada em OOPs. Seu principal objetivo é usar o mesmo código novamente. O exemplo da Estrutura Básica da Herança é dado abaixo:

class BaseClass ( )
class ChildClass: BaseClass ()

Tipos de herança em c #

Existem diferentes tipos de herança em C #:

1. Herança de Nível Único

Na herança Única, há apenas uma classe base e uma classe derivada. Isso significa que a classe filho herdará as propriedades da classe pai e a usará.

Exemplo:
class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)

2. Herança multinível

Nesse tipo de herança, há apenas uma classe base e várias classes derivadas estão disponíveis. Se uma classe é criada usando outra classe derivada, isso é conhecido como herança multinível.

Exemplo:

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : ChildClass
(
public void Hi()
(
)
)

3. Herança Múltipla

Nesse tipo de herança, isso pode ser alcançado com a ajuda de várias interfaces, não com uma classe. Em palavras simples, o C # não suporta várias heranças, mas se você deseja alcançá-lo, ele pode ser alcançado apenas com a ajuda de interfaces.

Exemplo:

Interface A ()
Interface B ()
Class C: A, B ()

4. Herança Hierárquica

Nesse tipo de herança, há uma classe pai e as outras classes derivadas herdam a mesma classe pai para obter essa herança.

Exemplo :

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : BaseClass
(
public void Hi()
(
)
)

Vantagens da herança

As vantagens da herança são:

  • Ajuda a usar o mesmo código novamente, significa reutilização do código.
  • Reduz a redundância de código.
  • Ajuda na leitura do código mais confortavelmente.
  • Também reduz o tamanho do código-fonte e do arquivo.
  • Ajuda a fornecer a extensibilidade ao código.
  • O código é fácil de gerenciar, pois é dividido em classes da classe base e da classe filho.
  • Membros privados não são acessados ​​na classe derivada quando membros da classe base são herdados pela classe derivada.
  • Ele não suporta múltiplas heranças, mas pode ser alcançado por meio de interfaces.
  • Ajuda a alcançar o polimorfismo que permite que um objeto represente mais de um tipo.
  • Ajuda a dividir o código grande em pedaços pequenos.

Recursos de herança

Os recursos da herança são:

  • A herança pode ser usada para impedir a instanciação direta da classe e para alcançar essa palavra-chave abstrata foi usada.
  • Os membros da classe base podem ser acessados ​​na classe derivada, exceto para membros da chave privada.
  • Os membros da classe base podem ser herdados na classe derivada, exceto o construtor e o destruidor.
  • Em C #, os métodos virtuais de uma classe base precisam usar a palavra-chave override na classe derivada.
  • Em C #, para impedir a herança da classe que pode ser declarada com a palavra-chave selada.
  • Se os membros herdados precisarem ser ocultados com o mesmo nome e assinatura na classe derivada, esse método precisará ser definido com a nova palavra-chave.

Por que usar herança e como isso facilita o trabalho?

A herança é usada quando o mesmo código precisa ser usado em outra classe. Portanto, em vez de escrever o mesmo código repetidamente, existe um conceito de programação orientada a objetos que é Herança que ajuda a usar a mesma funcionalidade, como métodos ou propriedades de uma classe para outra. Com a ajuda de ponto e vírgula (:), podemos herdar os membros da classe base para a classe filho ou classe derivada.

Isso facilita o trabalho, pois ajuda a evitar a confusão da chamada de método a partir da qual o método de classe está sendo chamado. Torna o código reutilizável e torna o arquivo mais leve, com menos número de linhas de código-fonte. Isso torna o código menos redundante e mais flexível para usar em diferentes classes. Ele mantém a estrutura do programa que ajuda na leitura do código facilmente.

Conclusão - Herança em C #

  • Herança é o conceito mais amplamente usado de programação orientada a objetos em toda a linguagem baseada em OOPs e em C #. Ajuda o desenvolvedor a conseguir muitas coisas e torna o código mais suave e legível.
  • Polimorfismo é o outro conceito de ops que pode ser alcançado apenas com a ajuda da herança. A maioria dos problemas foi resolvida com esses dois conceitos em conjunto.
  • Em Herança, a classe base e a classe derivada estão fortemente acopladas, como se houvesse alguma alteração na classe base, automaticamente toda a classe filha será afetada. A herança precisa ser usada com muito cuidado, como se os membros dos dados não fossem usados ​​corretamente e a memória fosse alocada para eles, afetando o desempenho do aplicativo.
  • Existem diferentes níveis de herança que são usados ​​na programação ou no desenvolvimento de um aplicativo. Pode ser implementado em qualquer tipo de aplicativo, como aplicativos baseados na Web ou na área de trabalho. Depende do desenvolvedor como e onde usar a herança, pois oferece muita flexibilidade, recursos e ajuda a alcançar as coisas.

Artigos recomendados

Este foi um guia para a herança em c #. Aqui discutimos a introdução, tipos, vantagens e recursos da herança em C #. Você também pode ler nossos outros artigos sugeridos para saber mais.

  1. Herança em VB.Net
  2. O que é multithreading em c #?
  3. Comandos C #
  4. C # vs JavaScript
  5. Herança em Java
  6. Métodos de multithreading em C #