C# | Constructor predeterminado

Si no proporciona un constructor para su clase, C# crea uno de forma predeterminada que instancia el objeto y establece las variables miembro en los valores predeterminados que se enumeran en la Tabla de valores predeterminados . El constructor sin ningún parámetro se denomina constructor predeterminado. En otras palabras, este tipo de constructor no toma parámetros. El inconveniente de un constructor predeterminado es que cada instancia de la clase se inicializará con los mismos valores y no es posible inicializar cada instancia de la clase con valores diferentes.

El constructor predeterminado se inicializa:

  • Todos los campos numéricos de la clase a cero.
  • Todos los campos de string y objeto a nulo.

Ejemplo 1:

// C# Program to illustrate the use
// of Default Constructor
using System;
  
namespace GFG {
      
class multiplication
{
    int a, b;
      
    // default Constructor
    public multiplication()   
    {
        a = 10;
        b = 5;
    }
  
// Main Method
public static void Main() {
      
    // an object is created, 
    // constructor is called
    multiplication obj = new multiplication(); 
      
    Console.WriteLine(obj.a);
    Console.WriteLine(obj.b);
      
    Console.WriteLine("The result of multiplication is: "
                                        +(obj.a * obj.b));
}
  
}
}

Producción:

10
5
The result of multiplication is: 50

Ejemplo 2: En este ejemplo, la clase Person no tiene ningún constructor, en cuyo caso, se proporciona automáticamente un constructor predeterminado y los campos se inicializan a sus valores predeterminados.

// C# Program to illustrate the use
// of Default Constructor
using System;
  
public class Person
{
    public int age;
    public string name;
}
  
  
// Driver Class
class TestPerson {
  
// Main Method
static void Main() {
  
    // object creation
    Person pers = new Person();
      
    Console.WriteLine("Name: {0}, Age: {1}", pers.name, pers.age);
  
}
} 

Producción:

Name: , Age: 0

Nota: El resultado es así porque una string se asigna a nulo de forma predeterminada y los enteros a 0.

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *