Autor Tema: Ejemplo Java CU00641B. Clases que utilizan objetos. Relación de uso entre clases  (Leído 4104 veces)

Alberto06

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Hola tengo una duda. ya escribi el codigo de ejemplo (TaxiCond) que pusieron en el capitulo y corre perfectamente. Mi duda es la sgte: si inicializo matricula, distrito y tipoMotor en el constructor de TaxiCond porque cambia el resultado???

Ahi les envio el codigo que modifique  :D  :D ayudenme a quitarme esta duda, que quizas sea un poco tonta, Por favor.

Código: [Seleccionar]
  public class TaxiCond {

    private Taxi vehiculoTaxi;
    private Persona conductorTaxi;
    private String matricula1;
    private String distrito1;
    private int tipoMotor1;

    public TaxiCond () {

        conductorTaxi = new Persona ();
        vehiculoTaxi = new Taxi ();
        matricula1 = vehiculoTaxi.dameMatricula();
        distrito1 = vehiculoTaxi.dameDistrito();
        tipoMotor1 = vehiculoTaxi.dameTipoMotor();
     
    }

    public void setMatricula (String valorMatricula) {
        vehiculoTaxi.ingresaMatricula(valorMatricula);}

    public void setDistrito (String valorDistrito) {
        vehiculoTaxi.ingresaDistrito(valorDistrito);}

    public void setTipoMotor (int valorTipoMotor) {
        vehiculoTaxi.ingresaTipoMotor(valorTipoMotor);}

    public String getDatosTaxiCond (){

        String cadenaTipoMotor ="";

        if (tipoMotor1 ==0){cadenaTipoMotor = "Desconocido";}
        else if (tipoMotor1 == 1) {cadenaTipoMotor = "Gasolina";}
        else if (tipoMotor1 == 2) {cadenaTipoMotor = "Diesel";}

        String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matricula: " + matricula1 + " Distrito:" + distrito1 + " Tipo de motor:" + cadenaTipoMotor;

        System.out.println (datosTaxiCond);
        return datosTaxiCond;
    }
}
« Última modificación: 06 de Abril 2015, 00:11 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola Alberto

Envía el resto de las clase que intervienen en tu ejercicio (tal vez: Taxi y Persona) para poder averiguar donde está el problema

Saludos

Alberto06

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Hola de nuevo, gracias por responder. Aqui les envio el codigo de las clases Taxi y Persona:

Taxi:

Código: [Seleccionar]
  public class Taxi {
   
    private String ciudad;
    private String matricula;
    private String distrito;
    private int tipoMotor;
   
    public Taxi (){
        ciudad = "Mexico D.F.";
        matricula = " Desconocido";
        distrito = " Desconocido";
        tipoMotor = 0;
       
    }
   
    public void ingresaMatricula (String valorMatricula){
        matricula = valorMatricula;
    }
   
    public void ingresaDistrito (String valorDistrito){
        distrito = valorDistrito;
    }
   
    public void ingresaTipoMotor (int valorTipoMotor) {
        tipoMotor = valorTipoMotor;
    }
    public String dameMatricula () {return matricula;}
    public String dameDistrito () {return distrito;}
    public int dameTipoMotor () {return tipoMotor;}
   
}
       



Persona:


Código: [Seleccionar]
     public class Persona {
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
   
    public Persona () {
        nombre = "Desconocido";
        apellidos = "Desconocidos";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "Desconocido";
    }
   
    public void setNombre (String valorNombre){
        nombre = valorNombre;
    }
   
    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
    }
   
    public void setEdad (int valorEdad) {
        edad = valorEdad;
    }
   
    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
    }
   
    public void setNumeroDocumentoIdentidad (String valorNumeroDocumentoIdentidad) {
        numeroDocumentoIdentidad = " Numero" + valorNumeroDocumentoIdentidad;
    }

    public String getNombre () {return nombre; }
   
    public String getApellidos () {return apellidos; }
   
    public int getEdad () {return edad; }
   
    public boolean getCasado () {return casado; }
   
    public String getNumeroDocumentoIdentidad () {return numeroDocumentoIdentidad; }
   
}
   
 



Muchas gracias.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola Alberto.

Si tu duda se refiere a que al invocar el método getDatosTaxiCond() la matrícula que da por respuesta no es la misma que la que introduces con el método setMatricula(...).
Tiene una respuesta lógica, no son los mismos datos, así que cada dato tiene un valor.
Para que tu método getDatosTaxiCond() dé los datos que esperas debes cambiar esta línea
Código: [Seleccionar]
        String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matricula: " + matricula1 + " Distrito:" + distrito1 + " Tipo de motor:" + cadenaTipoMotor;por esta
Código: [Seleccionar]
        String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matricula: " + vehiculoTaxi.dameMatricula() + " Distrito:" + vehiculoTaxi.dameDistrito() + " Tipo de motor:" + vehiculoTaxi.dameTipoMotor();
Quiero añadir unos apuntes para mejorar tu trabajo.
Los métodos que ha creado en la clase Taxi como:
    ingresaMatricula(...)
    dameMatricula ()
Aunque hacen su trabajo a la perfección, deberías bautizarlos como haces en las otras clases, es decir con los prefijos set y get, pues son los conocidos setters y getters que manipulan los atributos de la clase.

Y también quiero pedirte, que los enunciados de los mensajes no los pongas en mayúscula. Escribir de esa forma es tomado como hablar a gritos.

Un saludo y adelante.

Alberto06

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
muchas gracias!!!!!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

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".