Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

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:-

  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. 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

  1. Classe abstrata e método C#
  2. Operadores em C++ com Exemplo:O que é, Tipos e Programas
  3. Estrutura C++ com exemplo
  4. std::list em C++ com exemplo
  5. Diferença entre estrutura e classe:explicada com exemplo de C++
  6. Tutorial de classe abstrata C# com exemplo:O que é abstração?
  7. Interface vs classe abstrata em Java:qual é a diferença?
  8. Java - Abstração
  9. Abstração de dados em C++
  10. Interfaces em C++ (classes abstratas)