Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Aprendiz1 en 04 de Octubre 2016, 17:24
-
Buenas,
En la Entrega nº42 del curso "Aprender programación Java desde cero".
Codificación aprenderaprogramar.com: CU00642B PASO DE OBJETOS COMO PARÁMETROS A UN MÉTODO O CONSTRUCTOR EN JAVA
En el ejemplo sugerido:
/**
* Write a description of class TaxiCond here.
*
* @author (Ricardo Sardinha)
*/
public class TaxiCond
{
// instance variables - replace the example below with your own
private Taxi vehiculoTaxi;
private Persona conductorTaxi;
/**
* Constructor for objects of class TaxiCond
*/
public TaxiCond(Taxi objetoTaxi, Persona objetoPersona)
{
// Creamos un objeto Taxi con los mismos datos del Taxi recibidos como parametro
vehiculoTaxi = new Taxi (objetoTaxi.getMatricula(), objetoTaxi.getDistrito(), objetoTaxi.getTipoMotor());
// Creamos un objeto Persona con los mismos datos de la Persona recibidos como parametro
conductorTaxi = new Persona (objetoPersona.getNombre());
}
public void setMatricula (String valorMatricula)
{
vehiculoTaxi.setMatricula(valorMatricula);
}
/**
* Devuelve información sobre el objeto TaxiCond
*/
public String getDatosTaxiCond ()
{
String matricula = vehiculoTaxi.getMatricula();
String distrito = vehiculoTaxi.getDistrito();
int tipoMotor = vehiculoTaxi.getTipoMotor();
String cadenaTipoMotor = "";
if (tipoMotor == 0) {cadenaTipoMotor = "Desconocido";}
else if (tipoMotor == 1) {cadenaTipoMotor = "Gasolina";}
else if (tipoMotor == 2) {cadenaTipoMotor = "Diesel";}
String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matricula: " +
matricula + " Distrito: " + distrito + " Tipo de motor: " + cadenaTipoMotor;
System.out.println (datosTaxiCond);
return datosTaxiCond;
}
}
Al tratar de compilar el código de la Clase TaxiCond,
me arroja un error:
conductorTaxi = new Persona (objetoPersona.getNombre());
constructor Persona in class Persona cannot be applied to given types;
required: no arguments; found:java.lang.String; reason:actual and format argument lists differ in lenght
Agradezco sus comentarios,
Ricardo S.
-
Hola Aprendiz1.
Viendo que es tu primer mensaje en el foro, te recomiendo leer este apartado...
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784
Y por otro lado si puedes evitar de uso de color amarillo para la letra, mis ojos te lo agradecerán. ::)
En cuanto al error que obtienes es porque el constructor que tienes declarado en la clase Persona no recibe ningún argumento y tu le estás mandando uno. El constructor que viene la clase Persona de los ejemplo es este:
public Persona () {
nombre = "";
apellido = "";
edad = 23;
casado = true;
numeroDocumentoIdentidad = "";
}
Para que tu invocación funcionase necesitarías un constructor como este:
public Persona (String valorNombre) {
nombre =valorNombre;
apellido = "";
edad = 23;
casado = true;
numeroDocumentoIdentidad = "";
}
De todas formas si tienes dudas, pega el código de todas las clases que estés usando y será más fácil ayudarte.
Saludos. ;D
-
Muchas Gracias por la aclaración :)