Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jesu en 18 de Enero 2017, 02:14

Título: Paso de objetos como parámetros a un método o constructor Java CU00642B
Publicado por: Jesu en 18 de Enero 2017, 02:14
Ejercicio CU00642B del curso de bases de la programación Java.

Código: [Seleccionar]
package Ejercicios_POO;

public class SalonCasa  // Nombre de la clase
   {
     
// Campos de la clase
private int numTelevisores;
private String tipoSalon;

    // Métodos
    public SalonCasa()
    {
    numTelevisores=0;
    tipoSalon="Desconocido";
   
    }
    public SalonCasa(int numTelevisores,String tipoSalon)
    {
    this.numTelevisores=numTelevisores;
    this.tipoSalon=tipoSalon;
    }

public int getNumTelevisores() {
return numTelevisores;
}

public void setNumTelevisores(int numTelevisores) {
this.numTelevisores = numTelevisores;
}

public String getTipoSalon() {
return tipoSalon;
}

public void setTipoSalon(String tipoSalon) {
this.tipoSalon = tipoSalon;
}
public static void main(String[]arg){
SalonCasa saloncasa1=new SalonCasa();

saloncasa1.setNumTelevisores(1);
saloncasa1.setTipoSalon("VIP");

saloncasa1.getNumTelevisores();
saloncasa1.getTipoSalon();
}
       
     
   }

Código: [Seleccionar]
package Ejercicios_POO;

public class CocinaCasa
   {
public static void main(String[]args)
{
CocinaCasa cocinacasa1=new CocinaCasa();
cocinacasa1.setNumFuegos(4);
cocinacasa1.setEsIndependiente(true);
cocinacasa1.getNumFuegos();
cocinacasa1.getEsIndependiente();
}
       
   private boolean esIndependiente;
   private int numFuegos;
   
     
     public CocinaCasa()
     {
    esIndependiente=false;
    numFuegos=0;
     }
     public CocinaCasa(boolean esIndependiente,int numFuegos)
     {
    this.esIndependiente=esIndependiente;
    this.numFuegos=numFuegos;
     }


public boolean getEsIndependiente() {
return esIndependiente;
}


public void setEsIndependiente(boolean esIndependiente) {
this.esIndependiente = esIndependiente;
}


public int getNumFuegos() {
return numFuegos;
}


public void setNumFuegos(int numFuegos) {
this.numFuegos = numFuegos;
}
     
     

   }


Código: [Seleccionar]
package Ejercicios_POO;

public class Casa // Clase casa
   {   
     
private double superficie;
private String direccion;
private SalonCasa saloncasa;  // Atributo de objeto
private CocinaCasa cocinacasa;  // Atributo de objeto
   
/*Creación del constructor casa. Para las variables de tipo objeto llamamos a los constructores
  de las clase SalonCasa y CocinaCasa   
*/

public Casa()
   {
   superficie=0;
   direccion="Desconocido";
   saloncasa=new SalonCasa();
   cocinacasa=new CocinaCasa();
   }
// Segundo Constructor.
public Casa(double superficie, String direccion,SalonCasa saloncasa1,CocinaCasa cocinacasa1)
{
this.superficie=superficie;
this.direccion=direccion;
saloncasa=new SalonCasa(saloncasa1.getNumTelevisores(),saloncasa1.getTipoSalon());
cocinacasa=new CocinaCasa(cocinacasa1.getEsIndependiente(),cocinacasa1.getNumFuegos());
}
   
     // Método setter
   public void setNumTelevisores(int numTelevisores)
   {
   saloncasa.setNumTelevisores(numTelevisores);
   }
   
   public String getDatosCasa()
   {
String tipoSalon=saloncasa.getTipoSalon();
int numTelevisores=saloncasa.getNumTelevisores();

String cadena="La casa tiene un salon "+tipoSalon+" y tiene "+numTelevisores+" televisores.";

return cadena;
   }
   
   
public static void main(String[] args) {
// TODO Auto-generated method stub
           
Casa casa1=new Casa();

        System.out.println(casa1.getDatosCasa());
}

}


Gracias, Espero sus observaciones.
Título: Re:PASO DE OBJETOS COMO PARÁMETROS A UN MÉTODO O CONSTRUCTOR JAVA. 642B
Publicado por: Alex Rodríguez en 12 de Marzo 2017, 21:18
Hola Jesu, es importante que sigas las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

- No escribas el título de los temas en mayúsculas
- Escribe el código de los ejercicios completo, en lugar de 642B lo correcto es CU00642B
- Revisa lo escrito pulsando previsualizar antes de publicar (así evitas que quede mal lo publicado)

En el ejercicio tienes cosas que mejorar:

En la clase Casa no debes tener un método setNumTelevisores porque numTelevisores no es un atributo de esta clase, por tanto no debe existir un set si no es atributo de la clase.

En este momento del curso no se pide usar un método main, de hecho se recomienda no usarlo, ya que lo que se recomienda es ir siguiendo el curso paso a paso.

Revisa este hilo donde hay varias indicaciones de interés sobre este ejercicio: https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0

Saludos
Título: Re:Paso de objetos como parámetros a un método o constructor Java CU00642B
Publicado por: david82 en 28 de Abril 2017, 19:07
No tengo demasiado claro el concepto de pasar objetos en constructores, así que aquí está mi código. leo sugerencias. Gracias :D,

Código: [Seleccionar]
public class SalonCasa {

protected int numeroDeTelevisores;
protected String tipoSalon;

public SalonCasa(){
// Constructor ordinario
numeroDeTelevisores =0;
tipoSalon = "desconocido";
}

public SalonCasa(int numeroTelevisores, String tipoSalon) {
// Constructor que recibe como parametro el numero de tvs
this.numeroDeTelevisores =numeroTelevisores;
this.tipoSalon = tipoSalon;
}
//getters

public int getNumeroTelevisores(){
return numeroDeTelevisores;
}

public String getTipoSalon(){
return tipoSalon;
}

//setters

public void setNumeroTelevisores(int numtv){
numeroDeTelevisores = numtv;
}

public void setTipoSalon(String unsalon){
tipoSalon = unsalon;
}
}

Código: [Seleccionar]
public class CocinaCasa {

protected int numeroDeFuegos;
protected boolean esIndependiente;

public CocinaCasa(){
numeroDeFuegos = 0;
esIndependiente = false;
}

public CocinaCasa(int fuegos, boolean independiente){
numeroDeFuegos = fuegos;
esIndependiente = independiente;
}

//getters

public int getNumeroDeFuegos(){return numeroDeFuegos;}
public boolean getIndependencia(){return esIndependiente;}

//setters

public void setNumeroDeFuegos(int fuegos){
numeroDeFuegos = fuegos;
}

public void setIndependencia(boolean independiente){
esIndependiente = independiente;
}
}

Código: [Seleccionar]
public class Casa {

private double superficie;
private String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;

public Casa(){
superficie = 0;
direccion = "desconocido";
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
}

public Casa(double unaSuperficie, String unaDireccion, SalonCasa unSalon, CocinaCasa unaCocinaCasa)
{
superficie=unaSuperficie;
direccion=unaDireccion;
salonCasa=new SalonCasa(unSalon.getNumeroTelevisores(),unSalon.getTipoSalon());
cocina=new CocinaCasa(unaCocinaCasa.getNumeroDeFuegos(),unaCocinaCasa.getIndependencia());
}

public void getInformacion(){

System.out.println(salonCasa.numeroDeTelevisores);
System.out.println(salonCasa.tipoSalon);
System.out.println(cocina.numeroDeFuegos);
System.out.println(cocina.esIndependiente);
System.out.println(superficie);
System.out.println(direccion);
}

public static void main (String[] args){

Casa casa = new Casa();

casa.getInformacion();
}
}
Título: Re:Paso de objetos como parámetros a un método o constructor Java CU00642B
Publicado por: Alex Rodríguez en 18 de Junio 2017, 12:15
Hola david82, para plantear tu respuesta a un ejercicio crea un nuevo tema en los foros, no respondas sobre un tema ya existente. Es conveniente leer las normas sobre cómo publicar en los foros, disponibles en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Lee estos hilos donde se comenta adecuadamente este ejercicio:

https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0

Si tienes dudas, consúltalas

Saludos