Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: manu37 en 30 de Octubre 2017, 13:25
		
			
			- 
				Buenos días compañeros;
 
 Subo el código del curso "Aprender programación Java desde cero/ paso objetos como parámetros a un método o constructor Java, entrega CU00642B del curso.
 
 No estoy muy seguro se lo realicé bien o no. Os ruego me lo comentéis por favor.
 
 Gracias por vuestra atención:
 
 Código SalonCasa:
 
 public class SalonCasa
 {
 // instance variables
 private int numeroDeTelevisores;
 private String tipoSalon;
 
 /**
 * Constructor 1
 */
 public SalonCasa()
 {
 // initialise instance variables
 numeroDeTelevisores = 0;
 tipoSalon = "Desconocido";
 }
 
 public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
 numeroDeTelevisores = valorNumeroDeTelevisores;
 
 }
 public void setTipoSalon(String valorTipoSalon){
 tipoSalon = valorTipoSalon;
 
 }
 public int getNumeroDeTelevisores(){
 return numeroDeTelevisores;
 
 }
 public String getTipoSalon(){
 return tipoSalon;
 
 }
 }
 Código CocinaCasa:
 
 public class CocinaCasa
 {
 // instance variables
 private  boolean esIndependiente;
 private int numeroDeFuegos;
 
 /**
 * Constructor
 */
 public CocinaCasa()
 {
 // initialise instance variables
 esIndependiente = false;
 numeroDeFuegos = 0;
 }
 public void setEsIndependiente( boolean valorEsIndependiente){
 esIndependiente = valorEsIndependiente;
 
 }
 public void setNumeroDeFuegos(int valorNumeroDeFuegos){
 numeroDeFuegos = valorNumeroDeFuegos;
 
 }
 public boolean getEsIndependiente(){
 return esIndependiente;
 
 }
 public int getNumeroDeFuengos(){
 return numeroDeFuegos;
 
 }
 
 
 }
 
 Finalmente código Casa:
 
 public class Casa
 {
 // instance variables - replace the example below with your own
 private double superficie;
 private String direccion;
 private SalonCasa salonCasa;
 private CocinaCasa cocina;
 
 /**
 * Constructor 1
 */
 public Casa(){
 // initialise instance variables
 superficie = 0;
 direccion = "Desconocido";
 salonCasa = new SalonCasa();
 cocina = new CocinaCasa();
 
 
 }
 //CONSTRUCTOR CON PARÁMETROS
 
 public Casa(double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa){
 superficie = valorSuperficie;
 direccion = valorDireccion;
 salonCasa = objetoSalonCasa;
 cocina = objetoCocinaCasa;
 
 
 }
 //Método SETTER para establecer datos.
 public void setSuperficie(double valorSuperficie){
 
 superficie = valorSuperficie;
 
 }
 public void setDireccion(String valorDireccion){
 direccion = valorDireccion;
 
 }
 public void setSalonCasa(SalonCasa objetoSalonCasa){
 salonCasa = objetoSalonCasa;
 
 }
 public void setCocina(CocinaCasa objetoCocinaCasa){
 cocina = objetoCocinaCasa;
 
 
 }
 //Método GETTER para obtener datos
 public double getSuperficie(){
 return superficie;
 
 }
 public String getDireccion(){
 return direccion;
 
 
 }
 public SalonCasa getSalonCasa(){
 return salonCasa;
 
 }
 public CocinaCasa getCocina(){
 return cocina;
 
 }
 
 
 
 }
- 
				Hola manu37, tu código en líneas generales está bien.
 
 Hay un detalle sobre el que deberías prestar atención: salonCasa = objetoSalonCasa; es una expresión que en principio no debe usarse.
 
 Fíjate en esta forma de hacer algo parecido:
 
     public void setSalonCasa (SalonCasa objetoSalon) {
 salonCasa = new SalonCasa();
 salonCasa.setNumeroDeTelevisores(objetoSalon.getNumeroDeTelevisores());
 salonCasa.setTipoSalon(objetoSalon.getTipoSalon());
 }
 
 
 Tampoco es algo sobre lo que debas preocuparte ahora, simplemente es algo que se entiende de forma más clara cuando se va avanzando en el curso y se llega a la entrega "Asignación de igualdad en Java. Referencias a objetos. Diferencia entre igualdad e identidad. (CU00663B)"
 
 De momento solo puede ser recomendable leer los comentarios que hay en estos hilos:
 
 https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0
 
 https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0
 
 Saludos