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.
- Herança em VB.Net
- O que é multithreading em c #?
- Comandos C #
- C # vs JavaScript
- Herança em Java
- Métodos de multithreading em C #