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 nela. 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 abaixo. Abaixo está a definição de uma classe chamada 'Animal'. Quando a classe 'Animal' é definida, não há nada conhecido 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 se sabe exatamente o que o Animal vai ser, criamos outra classe que herda a classe base. Se soubermos que o animal é de fato um Cão, criamos a classe Cão 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 de classes abstratas C#.
Criar uma classe abstrata em C#
Vamos ver a classe abstrata em C# com exemplos em tempo real de como podemos alterar nosso código para incluir uma classe abstrata em C#. Observe que não estaremos executando o código, porque não há nada que possa ser executado usando uma classe de abstração C#.
Etapa 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 abstract. Isso é usado para denotar que a classe é uma classe abstrata.
- 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. Esse 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.
Observação:
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 ser. Não é possível para a classe filha herdar os métodos da classe base.
Linguagem C
- Classe abstrata e método C#
- Operadores em C++ com Exemplo:O que é, Tipos e Programas
- Estrutura C++ com exemplo
- std::list em C++ com exemplo
- Diferença entre estrutura e classe:explicada com exemplo de C++
- Tutorial de classe abstrata C# com exemplo:O que é abstração?
- Interface vs classe abstrata em Java:qual é a diferença?
- Java - Abstração
- Abstração de dados em C++
- Interfaces em C++ (classes abstratas)