Programación Orientada a Objetos en .NET con C# (5ª parte)

15. February 2009 00:08 by Oscar.SS in Desarrollo .NET, Formación  //  Tags: ,   //   Comments (2)

2. Encapsulación

d-Miembros de una clase (constructores (1))

 

Los constructores son el punto de inicio de una clase. Esto quiere decir, que cuando creamos un objeto a partir de una clase, el primer código que se ejecuta es el código contenido en el cuerpo del constructor. Por esta razón, los constructores normalmente se utilizan para inicializar los campos o variables de la clase.

Una clase obligadamente siempre tiene que tener un constructor. En le caso de que no implementemos ninguno, será el propio compilador de C#, el que asigne forzosamente uno a nuestra clase y será utilizado por el compilador para realizar operaciones internas de cara a la construción de objetos. A este constructor, se le conoce con el nombre de constructor predeterminado.

Ahora vamos a implementar un constuctor a nuestra clase  'Empleado' que utilizamos en el artículo anterior. ¡Veamos como!.

   class Empleado
   {
      
public string Nombre;

      public 
Empleado()
      {
         Nombre 
"Pablo";
      
}
   }

Para intentar hacerlo más didáctico he añadido a la clase un campo 'Nombre'. Este campo es inicializado desde el constructor como comentamos anteriormente. Ahora, cuando creamos un objeto a partir de esta clase, el constructor asignará en primer lugar 'Pablo' a la variable 'Nombre'. 

 

Como se puede apreciar, el constructor esta compuesto de 4 partes:

1- Modificador de accesibilidad: Pueden ser declarados como public, protected. internal, protected internal y private.

2- Identificador del constuctor: Siempre coincide con el nombre de la clase, en este caso 'Empleado'

3- Paréntesis de parámetros: Dentro de los paréntesis podemos asignar todos lo parámetros que necesitemos. Luego veremos un ejemplo.

4- Cuerpo del constructor: Aquí se ejecuta el código del constructor.

 

Sobrecarga de constructores. 

Una clase puede tener más de un constructor. En realidad, tantos como necesitemos.

Para implementar más de un constructor en una misma clase, es necesario que los constructores se diferencien o bien en el tipo de parámetros o en el número de ellos. Continuando con el ejemplo anterior:

   class Empleado
   {
      
public string Nombre;

      public 
Empleado()
      {
         Nombre 
"Pablo";
      
}

      
public Empleado(string Nom)
      {
         Nombre 
Nom;
      
}
   }

Ahora tenemos dos constructores en la clase 'Empleado'. Uno sin parámetros y otro con un parámetro de tipo System.String. Ambos constructores se utilizan para inicializar el campo Nombre.

Cada constructor implementado en una clase nos indica como podemos o debemos utilizar la clase para construir los objetos a partir de ella.

 

Construir objetos.

Para construir un objeto en nuestro código a partir de una clase utilizaremos el operador new de la siguiente forma.

 

      NombreClase  NombreObjeto  =  new  Constructor; 

 

        Empleado Empleado1 = new Empleado();

 

El operador new reserva espacio en la memoria para el objeto creado. En algunas fuentes llaman a esto instanciar un objeto. No debemos asustarnos por esta "palabreja". Instanciar un objeto es cargarlo en la memoria y para ello utilizamos el operador new.

Posiblemente, todo esto sea más facil de enterder si lo vemos paso a paso.

Primero creamos un objeto de tipo 'Empleado'.

 

        Empleado Empleado1;

 

Y una vez que tenemos el objeto creado, podemos cargarlo en la memoria por medio del operador new.

 

        Empleado1 = new Empleado();

 

En este caso, hemos utilizado de la clase 'Empleado' el constructor sin parámetros. Por lo tanto el objeto 'Empleado1' tendrá el campo 'Nombre' con el valor de Pablo. De hecho, cualquier objeto creado a partir de la clase con este constructor tendrá el mismo valor para 'Nombre'.

Pero también podiamos haber procedido así:

 

        Empleado Empleado2 = new Empleado("Jorge");

 

De esta forma, el objeto 'Empleado2' tendrá Jorge como valor del campo 'Nombre'.

 

Es lógico pensar que los constructores nos indican como podemos crear los objetos a partir de la clase. Utilizando un constructor u otro, los objetos se irán cargando en la memoria con unos valores u otros.

Comments (2) -

Liz Dautt
Liz Dautt
8/7/2013 4:27:30 AM #

quisiera saber si no hay tema 6 en adelante para poo con c#

Oscar.SS
Oscar.SS
8/16/2013 10:32:35 AM #

Hola Liz,

La verdad que me gustaría tener tiempo de continuar con el tutorial, además de hacerle una revisión y actualización a lo ya escrito. Pero lamentablemente no sé cuando podrá ser.

Un saludo.

Recent Comments

Comment RSS

Month List