Tipos definidos pelo usuário

Tipos personalizados

Além dos 16 tipos predefinidos nativos do C#, desenvolvedores podem criar seus próprios tipos definidos pelo usuário, divididos em seis grupos:

  1. Tipos de classe (class)
  2. Tipos de estrutura (struct)
  3. Tipos de vetor (array)
  4. Tipos de enumeração (enum)
  5. Tipos delegados (delegate)
  6. Tipos de interface

Para criar um tipo personalizado, usamos a declaração de tipo

  • A categoria do tipo que você quer construir
  • O nome do novo tipo criado
  • A declaração de todos os membros do tipo (nome e definição). Vetores e delegados são exceções, não possuem membros nomeados

Após concluir a declaração, você consegue criar e manipular objetos desse tipo da mesma forma que os tipos predefinidos.

Tipos predefinidos (tipos embutidos) são prontos para uso, basta instanciar objetos diretamente. Já os tipos personalizados, como o próprio nome diz, exigem que você defina o modelo do tipo antes de criar objetos.

Exemplo: tipos básicos embutidos como int e float funcionam sem configuração prévia, basta escrever int age; float price;.
Para o tipo personalizado Person citado anteriormente, são necessários dois passos:

Passo um: Declaração (definir o modelo do tipo com class Person {})

Passo dois: Instanciação (criar um objeto com Person lucas = new Person();)

// Classe de carro
public class Car
{
    // 1. Campos privados (armazenamento de dados internos)
    private string _brand;    // Marca do veículo
    private string _color;    // Cor do veículo

    // 2. Propriedades públicas (ponto de acesso externo, aceita validação)
    public string Brand
    {
        get { return _brand; }
        set
        {
            // Validação básica: marca não pode ser vazia
            if (!string.IsNullOrEmpty(value))
                _brand = value;
            else
                Console.WriteLine("O nome da marca não pode estar vazio!");
        }
    }

    public string Color
    {
        get { return _color; }
        set { _color = value; }
    }

    // 3. Método de comportamento: dirigir
    public void Drive()
    {
        Console.WriteLine($"Um veículo da marca【{Brand}】na cor【{Color}】está em trânsito!");
    }
}Code language: JavaScript (javascript)

O trecho acima traz uma classe Car de automóvel com dois campos. Campos são variáveis com tipos nativos que guardam os dados reais. Também temos duas propriedades públicas Brand e Color, que são basicamente funções, assunto que veremos depois. Há ainda o membro de função public void Drive(){}.

Vamos explorar todos esses tipos personalizados com detalhes nos capítulos seguintes.

Tipos definidos pelo usuário

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *