Clases en C#. Declarar un constructor

Ago 28, 2009 Tutoriales C# 11 comentarios

Un constructor, es un miembro de una clase, es a través del constructor, que se crea una instancia de una clase, el nombre de todo constructor de una clase, tiene que ser el mismo nombre que la clase a la cual pertenece, cuando en una clase no se declara un constructor en .net, a esta se le asigna, el constructor por defecto, que no recibe parámetros, y no hace nada.

En un constructor, es donde se construye un objeto del tipo de la clase, es donde se inicializan las variables, se verifica que sus valores sean admisibles, y se le asignan valores a estas. Una clase puede contener varios constructores, estos se deben diferenciar en la cantidad de
parámetros, o en el tipo de los parámetros que reciben. Los constructores no se heredan, pero pueden ser llamados desde clases herederas usando la palabra reservada base y pasándole los parámetros que recibe. Esto lo veremos un poco más adelante cuando hablemos de herencia y polimorfismo, que son las bases de la programación orientada a objetos (POO).

Para declarar un constructor de una clase, se usa la siguiente sintaxis:

<modificador de visibilidad> <nombre de la clase a la que pertenece> (parámetros){instrucciones}

Ejemplo:

public class Auto
{
string marca;
int modelo;
Color color;
public Auto(){} //constructor por defecto
 
//Otro constructor
public Auto(string marca)
{
this.marca= marca;
}
//Otro constructor al que le pasamos todos los datos
public Auto(string marca, int modelo, Color color)
{
this.modelo = modelo;
this.color = color
this.marca= marca;
}

Nótese que los constructores se diferencian en la cantidad de parámetros o en el tipo de estos. Pero el constructor es uno solo, pero con varias sobrecargas, de modo que puedes elegir después como quieres crear un auto, dependiendo de los datos que tengas o no… además puedes crear  propiedades y métodos propios de una clase, pero eso lo veremos en el proximo post. Ahora  para crear un nuevo auto, o sea, una instancia de la clase Auto, podemos hacerlo de tres formas:

Auto miAuto = new Auto();
Auto ford = new Auto("Ford Explorer");
Auto audi = new Auto("Audi", 404, Color.Red);

Por ahora practiquen, ya veremos un poco más adelante todo lo que podemos y se nos permite hacer detro de las clases. Si tienen duda, comentarios…

Compartir:

Relacionados

algunos artículos que te pueden interesar

11 comentarios

Forma parte de nuestra discusión y síguela de cerca

Buen post! ;-)

Autor: pancho | Fecha: Ago 30, 2009.

[...] una clase hija tiene un constructor que recibe los mismos parámetros que un constructor de la clase padre, y este constructor cumple [...]

Autor: Programación orientada a objetos. Herencia en C# | puntopeek | Fecha: Oct 1, 2010.

Excelente muchas gracias, me gusta la programacion pero se me complica y gracias a este sitio he podido empesar a comprender mejor los conceptos y lo que hago a la hora de programar Gracias…

Autor: Christian | Fecha: Feb 9, 2011.

Buenisimo, ojala gane mis examenes universitarios con esta interesante nota :D te agradeceria mas ayuda sobre este tema como ejemplo de aplicacion etc. :D

Autor: androcktr | Fecha: Jun 10, 2011.

Este post tan interesante debería llamarse “Clases en C#. Declarar un constructor con sobrecargas”

Autor: yelinna | Fecha: Jun 11, 2011.

esta muy bien esto es interesante

Autor: tania | Fecha: Oct 5, 2011.

Hola!! Muchas gracias x la info, ayuda full… Tengo una preguntita, ya he creado la clase en c# (archivo.cs) pero de ahí no sé cómo colocar los procesos para resolver una ecuación cuadrática? Necesito ayuda!

Autor: flordelis | Fecha: Nov 22, 2011.

gracias buen aporte

Autor: anonimo | Fecha: Ene 2, 2013.

[...] una clase hija tiene un constructor que recibe los mismos parámetros que un constructor de la clase padre, y este constructor cumple [...]

Autor: spinalesliss | Fecha: Feb 20, 2013.

se puede declarar un constructor con dos diferentes tipos de datos ???

Autor: juan | Fecha: Feb 3, 2014.

perdon pero soy algo tapado con el tema de los constructores, no entinedo para que me sirve un constructor a ciencia cierta. ademas de que tengo algunas dudas en la syntaxis(no esta mal, solo no la comprendo), yo uso c# y la syntaxis es la misma. es un tema que me gustaria manejar para continuar mi aprendizaje cualquier explicacion mas simplificada de mis dudas seria de gran ayuda gracias!

Autor: juan | Fecha: Abr 7, 2014.

Escribe tu comentario

Requerido.

Requerido. No público.

Si tienes alguno.