O que é classe abstrata em C#? | Definição, Propriedades vs Exemplos

A abstração na programação refere-se a ocultar informações desnecessárias, embora altamente importantes, e tornar apenas certas informações importantes ou necessárias visíveis para o usuário. Isso é possível através do uso de classes abstratas.

A classe abstrata em C# é essencialmente uma classe que não permite a criação de objetos. 'Abstract' é uma palavra-chave ou um modificador que faz com que determinada classe ou método seja abstrato ou restrito. Uma classe abstrata só pode ser acessada por herança de uma classe diferente.

Principais lições

  1. Classes abstratas são classes incompletas que não podem ser instanciadas, mas servem como base para outras herdarem.
  2. Eles contêm pelo menos uma função virtual pura, o que significa que não possui implementação e deve ser definida por qualquer classe derivada.
  3. As classes abstratas podem ter variáveis ​​de membro e funções de membro com implementação, mas não podem ser acessadas por meio de objetos da classe abstrata.

Propriedades e componentes da classe abstrata em C#

Certos fatores precisam estar presentes para que uma classe abstrata seja iniciada ou acessada. Eles foram listados a seguir.

  1. Uma classe abstrata cria uma classe base comumente acessada por várias classes derivadas. Os programadores devem criar uma classe derivada para usar ou implementar uma classe abstrata.
  2. A classe abstrata, portanto, deve ser herdada por subclasses, que podem até sobrescrever a função.
  3. Toda classe abstrata requer pelo menos um método abstrato.

Exemplo de uma classe abstrata em C#

Como o mecanismo é complicado e compreensível apenas para quem está familiarizado com a programação língua, é melhor começar com um exemplo simples para ajudar a explicar o conceito.

Leia também:  Edge Computing vs Computação Distribuída: Diferença e Comparação

Suponha que exista uma classe 'Árvore', com um método projetado existente conhecido como 'tipo'. Nada mais é definido e nenhuma outra informação particular é fornecida – não se sabe o tipo de árvore ou os tipos possíveis.

Se um exemplo específico de uma árvore estiver disponível, uma classe separada será criada por meio da herança da classe base, Árvore. A idéia é que a nova classe, digamos Pine ou Carvalho, não pode modificar a construção ou definição da classe base, ou seja, Tree. Ele tem que criar sua classe, derivada da classe Tree, e definir outro método herdado da base.

Vantagens da classe abstrata em C#

  1. Embora as subclasses possam optar por implementar ou substituir uma classe abstrata, certas modificações podem ser feitos que exigem uma determinada função a ser implementada.
  2. Existe, portanto, um grande grau de flexibilidade ao projetar uma classe abstrata em relação a quais métodos devem ser implementados imperativamente.
  3. O programador pode escolher quantos métodos abstratos deseja em uma classe abstrata. Também é possível escrever o código sem incluir métodos abstratos.
  4. Uma classe abstrata deve ser definida apenas uma vez e pode ser acessada ou derivada quantas vezes forem necessárias.
  5. Uma classe abstrata é muito útil quando há um conjunto de classes que possuem um grau de comunalidade, mas diferem em sua implementação da classe abstrata.

Desvantagens da classe abstrata em C #

  1. Uma classe abstrata só pode ser adicionada à hierarquia de classes se não existir nenhuma classe abstrata.
  2. Objetos de qualquer classe abstrata só podem ser referenciados, nunca criados.
  3. Mesmo que classes abstratas não possam ser instanciadas, ela não permite variáveis ​​ou métodos estáticos.
Referências
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Leia também:  Objeto vs Ferramenta de Seleção Rápida: Diferença e Comparação

Última atualização: 11 de junho de 2023

dot 1
Um pedido?

Eu me esforcei tanto para escrever esta postagem no blog para fornecer valor a você. Será muito útil para mim, se você considerar compartilhá-lo nas mídias sociais ou com seus amigos/família. COMPARTILHAR É ♥️

23 reflexões sobre “O que é classe abstrata em C#? | Definição, Propriedades vs Exemplos”

  1. O artigo descreve bem as vantagens e desvantagens. Uma referência abrangente para qualquer pessoa interessada em aprender sobre classes abstratas em C#.

    Resposta
  2. Este artigo não apenas destaca as vantagens, mas também cobre as desvantagens de uma classe abstrata em C#. Realmente uma análise minuciosa!

    Resposta
  3. Acho a flexibilidade de projetar uma classe abstrata muito intrigante. Este artigo apresentou os prós e os contras de maneira clara e compreensível.

    Resposta

Deixe um comentário

Quer salvar este artigo para mais tarde? Clique no coração no canto inferior direito para salvar em sua própria caixa de artigos!