Ir al contenido principal

Constructores sobrecargados

Sobrecargar un constructor significa escribir versiones múltiples del constructor de una clase, cada uno de ellos con una lista diferente de argumentos, algo parecido a lo que se muestra a continuación:

 

class Animal{

 

  Animal(){}

 

  Animal(String nombre){}

 

  Animal(String nombre, int edad){}

 

}

 

En la clase anterior (la clase Animal) podemos identificar que existen 3 constructores sobrecargados, uno que toma una cadena como argumento, otro que toma una cadena y un entero y otro sin argumentos. Debido a que el constructor sin argumentos actualmente no contiene código es igual al constructor por defecto que provee el compilador de forma automática, pero debido a que ya existe otro u otros constructores en la clase, el compilador no agregará un constructor por defecto de manera automática.

 

Sobrecargar un constructor es típicamente utilizado para proveer a los clientes formas alternas de instanciar objetos de la clase. Por ejemplo, si el cliente sabe el nombre del Animal, puede pasarlo como argumento por medio del constructor que toma una cadena pero no si lo sabe puede crear el objeto Animal utilizando el constructor sin argumentos.

 

Si existen diversos constructores para una clase debemos de tomar en cuenta que lo que determina qué constructor se llamará una vez que se crea el objeto o se utiliza la palabra clave 'new' es precisamente los argumentos que pasamos, por ello, no pueden existir múltiples constructores con la misma lista de argumentos.

 

Otro punto a tomar en cuenta (que ya he mencionado en el artículo anterior sobre constructores) es que un constructor nunca NUNCA podrá devolver nada, ni siquiera void, si se llega a encontrar algo como esto...

 

class Animal {

 

  void Animal(){} //No es un constructor, es un método

 

  Animal(String nombre){} //Constructor!

 

}

 

...estamos hablando de un método que tiene el mismo nombre de la clase que devuelve un valor tipo void y de un constructor que acepta como argumento un valor tipo cadena.

 

Hasta aquí llegamos con constructores sobrecargados. Alguna duda o algo qué decir? Deja tu comentario. Saludox.

 

Comentarios

  1. esta muy bueno el blog me estay salvando pa un certsmen pero mortal....vale compare xd

    ResponderBorrar
  2. jjaa yo denuevo¿ pero al sobrecargar un constructor, como sabe el programa cual necesitara el usuario...?

    ResponderBorrar
  3. Si existen diversos constructores para una clase debemos de tomar en cuenta que lo que determina qué constructor se llamará es precisamente los argumentos que pasamos al momento de crear el objeto. La JVM no elige cuál es el indicado, lo hacemos nosotros al mandarlo llamar.

    ResponderBorrar
  4. amigo tengo un ejercicio.... al que no le entiendo muy bien al enunciado... pero el chiste que me dice que declare dos constructores... uno sin argumentos y otro que reciba los datos... es esto correcto???:
    public Libro(){
    }
    public Libro(String titulo, String autor, String editorial, int cantidad, float precio){
    this.titulo=titulo;
    this.autor=autor;
    this.editorial=editorial;
    this.cantidad=cantidad;
    this.precio=precio;
    }

    otra forma no se me ocurrió... solo quiero saber si esa es la idea :S

    ResponderBorrar
  5. Anónimo:
    Agregaste los dos constructores de forma correcta, solo un comentario, cuando agregues un constructor sin código no necesitas indicarlo ya que la JVM los coloca por default asi que está de más, a menos que, coloques código dentro del constructor sin parametros

    ResponderBorrar
  6. la verdad me sacaste de una buena duda gracias.....

    ResponderBorrar
  7. son muy basicos tus ejemplos por fabor pon mas directo el asunto de sobrecargar e inicializar un constructor,nose xq haces tanta vuelta, si ......................

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.