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