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.