Autor Tema: pregunta CU00643 constructores con varios parámetros java  (Leído 1749 veces)

BelCrow

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 46
  • Técnico en Redes (CCNA-IT).
    • Ver Perfil
pregunta CU00643 constructores con varios parámetros java
« : 02 de Septiembre 2014, 02:42 »
Citar
Si una clase define varios constructores, el constructor invocado por la sentencia new es el que coincide en número y tipo de parámetros con los utilizados en la sentencia new. Por ejemplo: taxi1 = new Taxi(); invoca al constructor general, mientras que taxi1 = new Taxi (“BFG-7432”) invoca al constructor que requiere un String como parámetro. new Taxi (“BFG-7432”, “Oeste”) invocaría al constructor que requiere dos String como parámetros. new Taxi (“BFG-7432”, “Oeste”, 2) invocaría al constructor que requiere dos String y un entero como parámetros, etc. No puede haber dos constructores que requieran el mismo número y tipo de parámetros (por ejemplo dos constructores que requieran un String) porque eso generaría una ambigüedad que daría lugar a un error de compilación.

Eso lo entiendo perfectamente, pero si en la clase Taxi tengo dos constructores, uno con valores por defecto y uno con varios parámetros (dos int y uno String), entonces taxi1 = new Taxi(2,50) me dará error de compilación por que necesita 3 parámetros para poder invocar ese constructor? "En este caso falta el String".....
« última modificación: 02 de Septiembre 2014, 17:47 de Ogramar »
public lenguajePoderoso () {
          java = "poder";
       }

dongo

  • Intermedio
  • ***
  • Mensajes: 179
    • Ver Perfil
Re:pregunta CU00643
« Respuesta #1 : 02 de Septiembre 2014, 12:26 »
Si que te dará error, eso que intentas supongo que lo habrás deducido por php o javascript, donde los métodos y funciones, permiten tener parámetros opcionales con valores por defecto.

Eso no ocurre en java, en java si un constructor o un método, tiene 4 parámetros, obligatóriamente, tienes que pasarle los 4 parámetros.

Si tu tienes un constructor  con 3 parámetros, y quieres la posibilidad de crear objetos pasando solo 2 parámetros, pues deberás crearte otro constructor que solo reciba 2 parámetros.

En java para el problema de los parámetros por defecto en métodos y constructores, se resuelve mediante la sobrecarga.

Bueno un saludo, si no entiendes algo, nos cuentas.

BelCrow

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 46
  • Técnico en Redes (CCNA-IT).
    • Ver Perfil
Re:pregunta CU00643
« Respuesta #2 : 02 de Septiembre 2014, 12:37 »
ok..... Gracias, mejor definido de hay no c puede :p....
public lenguajePoderoso () {
          java = "poder";
       }

 

Esto es un laboratorio de ideas...
Aprender a programar

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".