Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando la Sobrecarga de Constructores en C#

Dominando la Sobrecarga de Constructores en C#

Descubre cómo diseñar clases flexibles en C# sobrecargando constructores: variando número, tipos y orden de parámetros, con ejemplos prácticos.

La sobrecarga de constructores en C# refleja la sobrecarga de métodos: una clase puede declarar múltiples constructores que comparten el mismo nombre pero difieren en su firma. El compilador selecciona el constructor apropiado basado en los argumentos suministrados al instanciar un objeto.

Antes de profundizar en la sobrecarga, asegúrate de entender los constructores básicos en C#.


1. Variando el Número de Parámetros

Puedes sobrecargar un constructor proporcionando diferentes números de argumentos.

class Coche { // Constructor sin parámetros Coche() { ... } // Constructor con un parámetro Coche(string marca) { ... } // Constructor con dos parámetros Coche(string marca, int precio) { ... } }

En esta clase Coche, los tres constructores coexisten porque cada firma es distinta. El compilador elige el constructor coincidente en tiempo de ejecución basado en la cantidad de argumentos.

Ejemplo: Sobrecarga por Cantidad de Parámetros

using System; namespace SobrecargaConstructor { class Coche { // Constructor sin parámetros Coche() { Console.WriteLine("Constructor de Coche"); } // Constructor con un parámetro Coche(string marca) { Console.WriteLine("Constructor de Coche con un parámetro"); Console.WriteLine("Marca: " + marca); } static void Main(string[] args) { // Llama al constructor sin parámetros Coche coche = new Coche(); Console.WriteLine(); // Llama al constructor con un parámetro Coche coche2 = new Coche("Bugatti"); Console.ReadLine(); } } }

Salida

Constructor de Coche Constructor de Coche con un parámetro Marca: Bugatti

El compilador invoca el constructor apropiado basado en los argumentos proporcionados.


2. Diferentes Tipos de Parámetros

Los constructores también pueden sobrecargarse cuando aceptan el mismo número de parámetros pero de diferentes tipos.

class Coche { Coche(string marca) { ... } Coche(int precio) { ... } }

Aquí, ambos constructores aceptan un solo argumento, pero los tipos —string versus int— los diferencian.

Ejemplo: Sobrecarga por Tipo de Parámetro

using System; namespace SobrecargaConstructor { class Coche { // Constructor con string Coche(string marca) { Console.WriteLine("Marca: " + marca); } // Constructor con int Coche(int precio) { Console.WriteLine("Precio: " + precio); } static void Main(string[] args) { Coche coche = new Coche("Lamborghini"); Console.WriteLine(); Coche coche2 = new Coche(50000); Console.ReadLine(); } } }

Salida

Marca: Lamborghini Precio: 50000

3. Cambiando el Orden de los Parámetros

Cuando los constructores tienen el mismo número y tipos de parámetros, aún puedes sobrecargar reordenándolos.

class Coche { Coche(string marca, int precio) { ... } Coche(int velocidad, string color) { ... } }

Las firmas difieren porque la secuencia de tipos es distinta.

Ejemplo: Sobrecarga por Orden de Parámetros

using System; namespace SobrecargaConstructor { class Coche { // String primero, luego int Coche(string marca, int precio) { Console.WriteLine("Marca: " + marca); Console.WriteLine("Precio: " + precio); } // Int primero, luego string Coche(int velocidad, string color) { Console.WriteLine("Velocidad: " + velocidad + " km/h"); Console.WriteLine("Color: " + color); } static void Main(string[] args) { Coche coche = new Coche("Bugatti", 50000); Console.WriteLine(); Coche coche2 = new Coche(60, "Rojo"); Console.ReadLine(); } } }

Salida

Marca: Bugatti Precio: 50000 Velocidad: 60 km/h Color: Rojo

Lenguaje C

  1. Comprendiendo el Refrigerante del Motor del Coche: Propósito, Tipos y Mantenimiento
  2. Constructores en C#: Tipos, ejemplos y patrones avanzados
  3. Entendiendo clases anidadas en C#: Definición, uso y herencia
  4. Dominando la Sobrecarga de Métodos en C#: Conceptos, Ejemplos y Buenas Prácticas
  5. Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
  6. Dominando la Sobrecarga en C++: Funciones y Operadores Explicados
  7. Dominando la Sobrecarga de Operadores en Python: Guía Práctica
  8. Dominar Constructores en Java: Tipos, Uso y Ejemplos Prácticos
  9. Constructores de Enum en Java explicados con ejemplo práctico
  10. Sobrecarga de constructores en Java – Explicado con ejemplos de código prácticos
  11. Entendiendo Constructores en Java: Inicialización y Mejores Prácticas