Tutorial da classe abstrata C #: O que é abstração com exemplo

Índice:

Anonim

O que é classe abstrata em C #?

A classe abstrata nunca pode ser instanciada e é marcada pela palavra-chave abstract. Uma classe abstrata contém zero ou mais métodos abstratos. A classe abstrata atua como uma classe base e é projetada para ser herdada por subclasses que implementam ou substituem seu método.

Vamos aprender a classe abstrata em C # com o exemplo fornecido a seguir. Abaixo está a definição de uma classe chamada 'Animal'. Quando a classe 'Animal' é definida, nada se sabe sobre o animal, seja um cachorro ou um gato. O método chamado descrição é apenas um método genérico definido para a classe.

Agora, quando sabemos o que exatamente o Animal vai ser, criamos outra classe que herda a classe base. Se sabemos que o animal é de fato um Cachorro, criamos a classe Cachorro que herda a classe base principal. A principal diferença aqui é que a classe Dog não pode alterar a definição do método Description da classe Animal. Ele tem que definir seu próprio método abstrato C # chamado Dog-Description. Este é o conceito básico das classes abstratas C #.

Vamos ver a classe abstrata em C # com um exemplo em tempo real sobre como podemos alterar nosso código para incluir uma classe abstrata C #. Observe que não executaremos o código, porque não há nada que possa ser executado usando uma classe de abstração C #.

Etapa 1) Como primeira etapa, vamos criar uma classe abstrata. A aula se chamará Tutorial e terá apenas um método. Todo o código precisa ser escrito no arquivo Program.cs.

Explicação do código: -

  1. Primeiro definimos a classe abstrata. Observe o uso da palavra-chave abstract. Isso é usado para denotar que a classe é uma classe abstrata.
  2. Em seguida, estamos definindo nosso método que não faz nada. O método deve ter a palavra-chave chamada virtual. Isso significa que o método não pode ser alterado pela classe filha. Este é um requisito básico para qualquer classe abstrata.

Etapa 2) Agora vamos adicionar nossa classe filha. Este código é adicionado ao arquivo Program.cs.

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{abstract class Tutorial{public virtual void Set(){}}class Guru99Tutorial:Tutorial{protected int TutorialID;protected string TutorialName;public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public String GetTutorial(){return TutorialName;}static void Main(string[] args){Guru99Tutorial pTutor=new Guru99Tutorial();pTutor.SetTutorial(1,".Net");Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}

Não há nada de excepcional neste código. Nós apenas definimos uma classe chamada 'Guru99Tutorial' que herda a classe abstrata Tutorial. Em seguida, definimos os mesmos métodos que usamos anteriormente.

Nota: Aqui não podemos alterar a definição do método Set que foi definido na classe Tutorial. Na classe Tutorial, definimos um método chamado 'Set' (public virtual void Set ()). Como o método fazia parte da classe abstrata C #, não temos permissão para definir o método Set novamente na classe Guru99Tutorial.

Resumo

  • Uma classe abstrata em C sustenido é uma classe base que possui os requisitos básicos de como uma classe deve se parecer. Não é possível que a classe filha herde os métodos da classe base.