Ícone do site Celso Kitamura

Classe – O que é – [C#]

Classe - o que é ?
5/5 - (3 votes)

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:

 

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

 

 

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!

Sair da versão mobile