Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre los constructores.

Anuncios

Estos son los encargados de inicializar el objeto cuando son creados, se llaman de la misma forma que la clase, son similares a un metodo pero no devuelven ningun tipo de dato.

Anuncios

Los constructores se usan para inicializar valores de nuestra clase o para iniciar procedimientos dentro de nuestra clase para tener un objeto completamente funcional, todas las clases tienen constructores se definan o no, ya que al igual que C estas tienen un constructor por defecto que inicia todos los valores de la variables en cero pero deja de usarse si define un constructor, tambien se llama constructor predeterminado cuando definimos un constructor sin iniciacion de variables pero ya veremos mas adelante como funciona, su sintaxis es la siguiente:

class NombreDeLaClase {
NombreDeLaClase(){}
}
Anuncios

Como pueden ver es bien simple crear un constructor, estos pueden ser de dos tipos:

  • Constructores sin argumentos
  • Constructores parametrizados.
Anuncios

Veamos los constructores sin argumentos a traves del siguiente ejemplo:

ConsDemo.java

class MiClase {
         int num;
         MiClase() {
                 num = 100;
         }
 }
 public class ConsDemo {
         public static void main(String args[]){
                 MiClase t1 = new MiClase();
                 MiClase t2 = new MiClase();
                 System.out.println(t1.num + " " + t2.num);
         }
 }
Anuncios

En este ejemplo primero crearemos una clase llamada MiClase, en la cual crearemos una variable llamada num de tipo entera, luego tendremos un constructor de nuestra clase donde le asignaremos el valor 100 a num.
Luego en el cuerpo principal de nuestra clase crearemos dos objetos de la clase MiClase llamados t1 y t2, donde por medio del metodo new y el nombre de nuestro constructor iniciaremos nuestros objetos, luego por medio de la siguiente linea mostraremos el valor de num asignado a t1 y a t2, si lo compilamos y ejecutamos obtendremos el siguiente resultado:

tinchicus@dbn001vrt:~/java/program$ java ConsDemo
100 100
tinchicus@dbn001vrt:~/java/program$
Anuncios

Como pueden ver muestra los valores asignados por medio de nuestro constructor para cada uno de los objetos, pasemos a ver por medio de un ejemplo como es un constructor parametrizado y para ello haremos unas simples modificaciones en nuestro codigo anterior:

class MiClase {
         int num;
         MiClase() {
                 num = 100;
         }
         MiClase(int x) {
                 num = x;
         }
 }
 public class ConsDemo {
         public static void main(String args[]){
                 MiClase t1 = new MiClase( 10 );
                 MiClase t2 = new MiClase( 20 );
                 System.out.println(t1.num + " " + t2.num);
         }
 }
Anuncios

Como pueden ver nuestras modificaciones consisten en crear un nuevo constructor pero que permita recibir un argumento (o parametro) el cual asignara a num, como pueden ver los constructores pueden convivir con total normalidad, ya que Java se encargara de diferenciarlo por medio del parametro, esto se llama sobrecarga de un metodo pero eso lo veremos mucho mas adelante, pasando al cuerpo de main podemos ver como ahora al iniciar nuestros objetos con el nuevo constructor le enviamos a t1 el valor de 10 y a t2 el valor de 20, luego mostramos los valores asignados a num de cada uno de los objetos, si lo compilamos y lo ejecutamos obtendremos el siguiente resultado:

tinchicus@dbn001vrt:~/java/program$ java ConsDemo
10 20
tinchicus@dbn001vrt:~/java/program$
Anuncios

Observen como se asignaron los valores a num y estos se muestran correctamente, si desean probar pueden crear dos objetos mas (p.e: t3 y t4) y a estos asignarles los constructores sin parametros, luego agreguen otra linea para mostrarlo similar a la del final del codigo y vean que resultado obtienen.

Anuncios

En resumen, hoy hemos visto que son y para que sirven los constructores, como pueden ser, su funcionamiento y por sobre todo dos ejemplos donde podemos ver como trabajan los mismos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00