Tutorial de classe abstrata C# com exemplo: O que é abstração?
O que é classe abstrata em C#?
Classe Abstrata nunca pode ser instanciado e é marcado pela palavra-chave abstract. Uma classe abstrata contém zero ou mais métodos abstratos. A classe abstrata atua como uma classe base e foi projetada para ser herdada por subclasses que implementam ou substituem seu método.
Vamos aprender uma classe abstrata em C# com o exemplo abaixo. Abaixo está a definição de uma classe chamada 'Animal'. Quando a classe ‘Animal’ é definida, não se sabe nada sobre o animal, seja ele um cachorro ou um gato. O método chamado description é apenas um método genérico definido para a classe.
Agora que se sabe exatamente o que Animal será, criamos outra classe que herda a classe base. Se soubermos que o animal é na verdade 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 Descriptmétodo iônico da classe Animal. Ele tem que definir seu próprio método abstrato C# chamado Dog-Descriptíon. Este é o conceito básico das classes abstratas C#.
Crie uma classe abstrata em C#
Vamos ver uma classe abstrata em C# com exemplos em tempo real de 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#.
Passo 1) Como primeiro passo, vamos criar uma classe abstrata. A classe 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: -
- Primeiro definimos a classe abstrata. Observe o uso da palavra-chave abstrata. Isso é usado para denotar que a classe é uma classe abstrata.
- A seguir, 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.
Passo 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. Acabamos de definir uma classe chamada 'Guru99Tutorial' que herda a classe abstrata Tutorial. Em seguida, definimos os mesmos métodos que usamos antes.
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 Dó sustenido é um projeto para outras classes, marcado com o abstract palavra-chave. Ela não pode ser instanciada diretamente e pode incluir métodos abstratos que classes derivadas devem implementar. Classes abstratas impõem uma estrutura consistente entre subclasses enquanto permitem funcionalidades específicas. Esse conceito é comumente usado para definir comportamentos básicos e garantir flexibilidade de código por meio de herança.




