Classe – O que é – [C#]

Tempo de leitura: 5 min

Escrito por Celso Kitamura
em 14 de dezembro de 2017

Compartilhe agora mesmo:

Classe – O que é – [C#]
5/5 - (3 votos)

No mundo da programação de software, classe é um modelo de um objeto.

 

Ele encapsula variáveis, funções, estrutura, propriedades e muitos outros componentes.

 

É a tentativa de modelar objetos do mundo real para o mundo digital.

 

Porém um objeto do mundo real é muito complexo. Por isso, simplificamos o nosso modelo quando criamos sua classe correspondente.

 

Afinal, ao desenvolver um sistema dificilmente precisaremos de todas as características de um objeto. Então podemos modelar sua classe apenas com as características que precisaremos utilizar no escopo do sistema.

 

Na programação orientada a objetos, as classes e os métodos são essenciais. É o bloco de construção básico. A classe fornece reutilização do código e torna a programação C# mais segura.

Classe

 

Para criar uma classe, usamos a palavra-chave class, seguida pelo nome da classe.

 

O corpo da classe fica entre chaves {}.

 

Abaixo temos um exemplo geral de uma classe

 

<nivel_de_acesso> class  nome_da_classe
{
   // variáveis
   <nivel_de_acesso> <tipo> variavel1;
   <nivel_de_acesso> <tipo> variavel2;
   ...
   <nivel_de_acesso> <tipo> variavelN;
   // métodos
   <nivel_de_acesso> <tipo do retorno> metodo1(lista_de_parametros)
   {
      // corpo do método
   }
   <nivel_de_acesso> <tipo do retorno> metodo2(lista_de_parametros)
   {
      // corpo do método
   }
   ...
   <nivel_de_acesso> <tipo do retorno> metodoN(lista_de_parametros)
   {
      // corpo do método
   }
}

 

Dicas na construção de classes:

  • O nome da classe deve ser um substantivo e deve possuir um significado.
  • Use pascal case e camel case. Em camel case, a primeira letra é pequena. Ex. camelCase. No pascal case, a primeira letra é maiuscula. Ex. PascalCase. É estritamente recomendado que você use o pascal case para o nome da classe e o camel case para nome de variáveis.
  • O nome da sua classe não deve conter nenhum caractere especial, exceto o sublinhado (_) ou dígito. E deve começar com um caractere.
  • Não use palavras-chave reservadas para o nome da classe.

 

Construtores de uma classe C# (Constructors)

 

Uma classe do tipo construtor (constructor) é uma classe especial que é executada sempre que criamos novos objetos dessa classe.

 

Um construtor tem o mesmo nome que o da classe e não possui nenhum tipo de retorno. O exemplo seguinte explica o conceito de construtor:

 

using System;
namespace ExConstrutor
{
   class Linha
   {
      private double comprimento;   // Comprimento da linha
      public Linha()
      {
         Console.WriteLine("Objeto sendo criado");
      }

      public void setComprimento(double comp)
      {
         comprimento = comp;
      }
      
      public double getComprimento()
      {
         return comprimento;
      }

      static void Main(string[] args)
      {
         Linha linha = new Linha();    
         
         // atribui comprimento a linha
         linha.setComprimento(6.0);
         Console.WriteLine("Comprimento da linha: {0}", linha.getComprimento());
         Console.ReadKey();
      }
   }
}

 

Quando executamos o código acima, temos:

 

Objeto sendo criado
Comprimento da linha : 6

 

Um construtor padrão não tem nenhum parâmetro, mas, caso necessário, um construtor pode ter parâmetros.

Esses construtores são chamados de construtores parametrizados. Esta técnica ajuda você a atribuir o valor inicial a um objeto no momento da criação, como mostrado a seguir:

 

using System;
namespace ExConstrutorComParametro
{
   class Linha
   {
      private double comprimento;
      public Linha(double comp)  //Construtor parametrizado
      {
         Console.WriteLine("Objeto sendo criado, comprimento = {0}", comp);
         comprimento = comp;
      }

      public void setComprimento(double comp)
      {
         comprimento = comp;
      }
      public double getComprimento()
      {
         return comprimento;
      }

      static void Main(string[] args)
      {
         Linha linha = new Linha(10.0);
         Console.WriteLine("Comprimento da linha: {0}", linha.getComprimento()); 
         
         // atribui comprimento a linha
         linha.setComprimento(6.0);
         Console.WriteLine("Comprimento da linha: {0}", linha.getComprimento()); 
         Console.ReadKey();
      }
   }
}

 

Quando executamos o código, temos:

 

Objeto sendo criado, comprimento = 10
Comprimento da linha: 10
Comprimento da linha: 6

 

Destrutores de uma classe C# (Destructors)

 

Um destrutor (destructor) é uma classe especial que é executada sempre que um objeto de sua classe está fora do escopo. Um destrutor tem exatamente o mesmo nome que o da classe com o prefixo til (~) e não pode retornar um valor nem pode levar nenhum parâmetro.

 

O destrutor pode ser muito útil para liberar recursos de memória antes de sair do programa. Destrutores não podem ser herdados ou sobrecarregados.

 

Veja o exemplo seguinte:

 

using System;
namespace ExDestrutor
{
   class Linha
   {
      private double comprimento;
      public Linha()  // construtor
      {
         Console.WriteLine("Objeto sendo criado");
      }
      ~Linha() // destrutor
      {
         Console.WriteLine("Objeto sendo excluído");
      }

      public void setComprimento(double comp)
      {
         comprimento = comp;
      }
      
      public double getComprimento()
      {
         return comprimento;
      }

      static void Main(string[] args)
      {
         Linha linha = new Linha();
         
         // atribuindo comprimento
         linha.setComprimento(6.0);
         Console.WriteLine("Comprimento da linha: {0}", linha.getComprimento());           
      }
   }
}

 

Executando o exemplo acima temos:

 

Objeto sendo criado
Comprimento da linha : 6
Objeto sendo excluído

 

Palavras finais

 

  • Classe é um modelo de um objeto do mundo real. É o bloco de construção básico da programação orientada a objetos e é reutilizável.
  • Uma classe C# define propriedades, campos, eventos, métodos, etc. Um objeto é uma instância de uma classe.
  • Modificadores de acesso definem a acessibilidade de uma classe: public, private, protected ou internal.
  • Um Namespace pode incluir uma ou mais classes.

 

Não é objetivo esgotar este assunto tão abrangente com apenas um artigo.

 

No próximo artigo da série veremos os métodos e propriedades das classes, o que são e para que servem.

 

Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!

Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar

Bora aprender a programar!

Compartilhe agora mesmo:

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro