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 Sobrecarga de Construtores em C#

Dominando Sobrecarga de Construtores em C#

Descubra como projetar classes flexíveis em C# sobrecarregando construtores — variando contagem, tipos e ordem de parâmetros — com exemplos práticos.

A sobrecarga de construtores em C# espelha a sobrecarga de métodos: uma classe pode declarar múltiplos construtores que compartilham o mesmo nome, mas diferem na assinatura. O compilador seleciona o construtor apropriado com base nos argumentos fornecidos quando um objeto é instanciado.

Antes de mergulhar na sobrecarga, certifique-se de entender construtores básicos em C#.


1. Variando o Número de Parâmetros

Você pode sobrecarregar um construtor fornecendo diferentes números de argumentos.

class Carro { // Construtor sem parâmetros Carro() { ... } // Construtor com um parâmetro Carro(string marca) { ... } // Construtor com dois parâmetros Carro(string marca, int preco) { ... } }

Nesta classe Carro, os três construtores coexistem porque cada assinatura é distinta. O compilador escolhe o construtor correspondente em tempo de execução com base na contagem de argumentos.

Exemplo: Sobrecarga por Contagem de Parâmetros

using System; namespace SobrecargaConstrutor { class Carro { // Construtor sem parâmetros Carro() { Console.WriteLine("Construtor Carro"); } // Construtor com um parâmetro Carro(string marca) { Console.WriteLine("Construtor Carro com um parâmetro"); Console.WriteLine("Marca: " + marca); } static void Main(string[] args) { // Chama construtor sem parâmetros Carro carro = new Carro(); Console.WriteLine(); // Chama construtor com um parâmetro Carro carro2 = new Carro("Bugatti"); Console.ReadLine(); } } }

Saída

Construtor Carro Construtor Carro com um parâmetro Marca: Bugatti

O compilador invoca o construtor apropriado com base nos argumentos fornecidos.


2. Diferentes Tipos de Parâmetros

Construtores também podem ser sobrecarregados quando aceitam o mesmo número de parâmetros, mas de tipos diferentes.

class Carro { Carro(string marca) { ... } Carro(int preco) { ... } }

Aqui, ambos os construtores aceitam um único argumento, mas os tipos — string versus int — os diferenciam.

Exemplo: Sobrecarga por Tipo de Parâmetro

using System; namespace SobrecargaConstrutor { class Carro { // Construtor com string Carro(string marca) { Console.WriteLine("Marca: " + marca); } // Construtor com int Carro(int preco) { Console.WriteLine("Preço: " + preco); } static void Main(string[] args) { Carro carro = new Carro("Lamborghini"); Console.WriteLine(); Carro carro2 = new Carro(50000); Console.ReadLine(); } } }

Saída

Marca: Lamborghini Preço: 50000

3. Alterando a Ordem dos Parâmetros

Quando construtores têm o mesmo número e tipos de parâmetros, ainda é possível sobrecarregar reorganizando a ordem.

class Carro { Carro(string marca, int preco) { ... } Carro(int velocidade, string cor) { ... } }

As assinaturas diferem porque a sequência de tipos é distinta.

Exemplo: Sobrecarga por Ordem de Parâmetros

using System; namespace SobrecargaConstrutor { class Carro { // String primeiro, depois int Carro(string marca, int preco) { Console.WriteLine("Marca: " + marca); Console.WriteLine("Preço: " + preco); } // Int primeiro, depois string Carro(int velocidade, string cor) { Console.WriteLine("Velocidade: " + velocidade + " km/h"); Console.WriteLine("Cor: " + cor); } static void Main(string[] args) { Carro carro = new Carro("Bugatti", 50000); Console.WriteLine(); Carro carro2 = new Carro(60, "Vermelho"); Console.ReadLine(); } } }

Saída

Marca: Bugatti Preço: 50000 Velocidade: 60 km/h Cor: Vermelho

Linguagem C

  1. Construtores em C#: Tipos, Exemplos e Padrões Avançados
  2. Entendendo Classes Aninhadas em C#: Definição, Uso e Herança
  3. Dominando Sobrecarga de Métodos em C#: Conceitos, Exemplos e Boas Práticas
  4. Dominando Sobrecarga de Operadores em Python: Guia Prático
  5. Dominando Construtores em Java: Tipos, Uso e Exemplos Práticos
  6. Construtores de Enum em Java Explicados com Exemplo Prático
  7. Entendendo Líquido de Arrefecimento do Motor: Função, Tipos e Manutenção
  8. Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
  9. Sobrecarga de Construtores em Java – Explicado com Exemplos Práticos de Código
  10. Entendendo Construtores Java: Inicialização e Boas Práticas