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

Dominando Propriedades em C#: Guia Completo

Propriedades são membros nomeados de classes, structs e interfaces. Variáveis/métodos membro são campos (fields). Propriedades estendem campos e usam mesma sintaxe de acesso. Usam acessadores (accessors) para ler, escrever ou manipular valores de campos privados.

Propriedades não nomeiam locais de armazenamento; têm acessadores que leem, escrevem ou computam valores.

Acessadores

Contêm instruções executáveis para obter (get) ou definir (set) a propriedade. Podem ter get, set, ou ambos.

// Propriedade Code (string)
public string Code
{
    get { return code; }
    set { code = value; }
}

// Propriedade Name (string)
public string Name
{
    get { return name; }
    set { name = value; }
}

// Propriedade Age (int)
public int Age
{
    get { return age; }
    set { age = value; }
}

Exemplo Completo

using System;

namespace tutorialspoint
{
    class Student
    {
        private string code = "N.A";
        private string name = "not known";
        private int age = 0;

        public string Code { get { return code; } set { code = value; } }
        public string Name { get { return name; } set { name = value; } }
        public int Age { get { return age; } set { age = value; } }

        public override string ToString()
        {
            return "Code = " + Code + ", Name = " + Name + ", Age = " + Age;
        }
    }

    class ExampleDemo
    {
        public static void Main()
        {
            Student s = new Student();
            s.Code = "001";
            s.Name = "Zara";
            s.Age = 9;
            Console.WriteLine("Student Info: {0}", s);

            s.Age += 1;
            Console.WriteLine("Student Info: {0}", s);
            Console.ReadKey();
        }
    }
}

Saída:

Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10

Propriedades Abstratas

Classe abstrata pode ter propriedade abstrata, implementada na classe derivada.

Exemplo

public abstract class Person
{
    public abstract string Name { get; set; }
    public abstract int Age { get; set; }
}

class Student : Person
{
    private string code = "N.A", name = "N.A";
    private int age = 0;

    public string Code { get { return code; } set { code = value; } }
    public override string Name { get { return name; } set { name = value; } }
    public override int Age { get { return age; } set { age = value; } }

    public override string ToString()
    {
        return "Code = " + Code + ", Name = " + Name + ", Age = " + Age;
    }
}

Uso idêntico ao exemplo anterior.

Propriedades Autoimplementadas (C# 3.0+)

Sintaxe simplificada quando não há lógica extra:

public string Name { get; set; }
public int Age { get; set; }

O compilador cria campo de backing automaticamente.

Linguagem C

  1. O Poder Antimicrobiano da Prata: Como o Metal Combate Bactérias, Fungos e Vírus
  2. Propriedades Aritméticas: Associativa, Comutativa e Distributiva Explicadas
  3. Regras de Expoentes: Propriedades-Chave para Manipulação Algébrica
  4. Molibdênio-Hafnio-Carbono (MHC): Liga Reforçada por Partículas para Alta Temperatura
  5. AMPCO® 25 Forjados: Liga de Alto Desempenho para Materiais de Matrizes Superiores
  6. UGICHROM® 4462: Revestimento de Crômio Microfissurado de Alto Desempenho para Sistemas Hidráulicos e Pneumáticos
  7. UGICHROM® 4362 – Aço Inoxidável Cromado Microfissurado Premium para Aplicações Hidráulicas e Pneumáticas
  8. Bainidur® 1300 – Liga de Forjamento de Alta Resistência e Baixo Risco de Trinca
  9. Bainidur® 7980 CN: Aço Baixa Liga Premium para Cementação e Carbonitretação Superiores
  10. UGICHROM® 4460: Aço Inoxidável Cromado Ultra-Durável para Aplicações Hidráulicas e Pneumáticas