Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Java_Maya14 en 12 de Julio 2014, 06:02
-
Hola que tal les dejo mi código para este ejercicio Para revisión muchas gracias por su tiempo :)..
Clase Salon Casa: /** Ejercio 20 - SalonCasa (Pasar objetos como parámetros a un metodo o construtor).
* Alumno: Cristian Alberto.
*
*La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y
* tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”.
*///Inicio de la clase:
public class SalonCasa {
int numeroDeTelevisores;
String tipoSalon;
//Constructor:
public SalonCasa () {
numeroDeTelevisores = 0;
tipoSalon = "Desconocido";
}//Cierre del constructor
//Constructor con Parametros:
public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
numeroDeTelevisores = 0;
tipoSalon = "Desconocido";
}//Cierre del constructor
//Setters:
public void setnumerodeTelevisores (int valorNumeroDeTelevisores) {
numeroDeTelevisores = valorNumeroDeTelevisores;
}//Cierre del metodo
public void settipoSalon (String valorTipoSalon) {
tipoSalon = valorTipoSalon;
}//Cierre del metodo
//Getters:
public int getNumeroDeTelevisores () { return numeroDeTelevisores; }//Cierre del metodo.
public String getTipoSalon () { return tipoSalon; }//Cierre del metodo.
}//Cierre de la clase
Clase Cocina Casa: /** Ejercicio 20 CocinaCasa (Pasar objetos como parametros a un metodo o constructor).
* Alumno: Cristian Alberto balam martinez.
* La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y
* numeroDeFuegos (int) y un constructor que los inicialice a false y 0.
*/
public class CocinaCasa {
boolean esIndependiente;
int numeroDeFuegos;
//Constructor:
public CocinaCasa () {
esIndependiente = false;
numeroDeFuegos = 0;
}//Cierre del constructor
//Constructor con parametros:
public CocinaCasa (boolean esIndependiente, int numeroDeFuegos) {
esIndependiente = false;
numeroDeFuegos = 0;
}
//Setters
public void setesIndependiente (boolean valorEsIndependiente) {
esIndependiente = valorEsIndependiente;
}//Cierre del metodo.
public void setnumeroDeFuegos (int valorNumeroDeFuegos) {
numeroDeFuegos = valorNumeroDeFuegos;
}//Cierre del metodo.
//Getters:
public boolean getEsIndependiente () { return esIndependiente; }//Cierre del metodo.
public int getNumeroDeFuegos () { return numeroDeFuegos; }//Cierre del metodo.
}//Cierre de la clase.
Clase Casa: /** Ejercicio 20 Casa (Pasar objetos como parametros a un metodo o constructor).
* Alumno: Cristian Alberto Balam Martinez.
* La clase Casa tendrá los siguientes atributos de clase: superficie (double),
* direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa).
* Define un constructor para la clase Casa que establezca a unos valores de defecto
* los atributos simples y que cree nuevos objetos si se trata de atributos objeto.
* Define otro constructor que reciba como parámetros la superficie, dirección y
* un objeto de tipo SalonCasa y otro de tipo CocinaCasa, Compila el código.
*/
public class Casa {
private double superficie;
private String direccion;
private SalonCasa salonDeEstaCasa;
private CocinaCasa cocinaDeEstaCasa;
//Constructor:
public Casa () {
superficie = 0.00;
direccion = "Desconocida";
salonDeEstaCasa = new SalonCasa ();
cocinaDeEstaCasa = new CocinaCasa ();
}
//Constructor Con parametros:
public Casa (double superficie, String direccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
}
//Setters:
public void setsuperficie (double valorSuperficie) {
superficie = valorSuperficie;
}
public void setdireccion (String valorDireccion) {
direccion = valorDireccion;
}
//Getters
public double getSuperficie () { return superficie; }//Cierre del metodo.
public String getDireccion () { return direccion; }//Cierre del metodo.
}
Gracias por su tiempo.
-
Aquí tienes un error:
public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
numeroDeTelevisores = 0;
tipoSalon = "Desconocido";
}//Cierre del constructor
Si el constructor trae parámetros, será para asignárselos a los atributos, por ejemplo:
public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
numeroDeTelevisores = valorNumeroDeTelevisores;
tipoSalon = valorTipoSalon;
}//Cierre del constructor
Si no lo haces así no te serviría para nada los parámetros que se reciben.
En la clase CocinaCasa tienes el mismo error, y en la clase Casa tienes el mismo error.
Los nombres de métodos como setnumerodeTelevisores deben ser setNumeroDeTelevisores, introduciendo una mayúscula cada vez que hay un cambio de palabra. Hay varios métodos que ocurre lo mismo...
En la clase Casa te faltan los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.
También te faltan los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase.
Tienes que trabajar con objetos de forma similar a como lo haces con los tipos primitivos.
Saludos
-
Aquí tienes un error:
public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
numeroDeTelevisores = 0;
tipoSalon = "Desconocido";
}//Cierre del constructor
Si el constructor trae parámetros, será para asignárselos a los atributos, por ejemplo:
public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
numeroDeTelevisores = valorNumeroDeTelevisores;
tipoSalon = valorTipoSalon;
}//Cierre del constructor
Si no lo haces así no te serviría para nada los parámetros que se reciben.
En la clase CocinaCasa tienes el mismo error, y en la clase Casa tienes el mismo error.
Los nombres de métodos como setnumerodeTelevisores deben ser setNumeroDeTelevisores, introduciendo una mayúscula cada vez que hay un cambio de palabra. Hay varios métodos que ocurre lo mismo...
En la clase Casa te faltan los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.
También te faltan los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase.
Tienes que trabajar con objetos de forma similar a como lo haces con los tipos primitivos.
Saludos
Hola que tal gracias por responderme edité el codigo de las tres clases, espero que ahora si este bien lo de los "getters" no se si esté bien Gracias por tu tiempo te adjunto los codigos de las tres clases.
Clase SalonCasa:
/** Ejercio 20 - SalonCasa (Pasar objetos como parámetros a un metodo o construtor).
* Alumno: Cristian Alberto.
*///Inicio de la clase:
public class SalonCasa {
int numeroDeTelevisores;
String tipoSalon;
//Constructor:
public SalonCasa () {
numeroDeTelevisores = 0;
tipoSalon = "Desconocido";
}//Cierre del constructor
//Constructor con Parametros:
public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
numeroDeTelevisores = valorNumeroDeTelevisores;
tipoSalon = valorTipoSalon;
}//Cierre del constructor
//Setters:
public void setNumerodeTelevisores (int valorNumeroDeTelevisores) {
numeroDeTelevisores = valorNumeroDeTelevisores;
}//Cierre del metodo
public void setTipoSalon (String valorTipoSalon) {
tipoSalon = valorTipoSalon;
}//Cierre del metodo
//Getters:
public int getNumeroDeTelevisores () { return numeroDeTelevisores; }//Cierre del metodo.
public String getTipoSalon () { return tipoSalon; }//Cierre del metodo.
}//Cierre de la clase
Clase CocinaCasa:
/** Ejercicio 20 CocinaCasa (Pasar objetos como parametros a un metodo o constructor).
* Alumno: Cristian Alberto balam martinez.
*/
public class CocinaCasa {
boolean esIndependiente;
int numeroDeFuegos;
//Constructor:
public CocinaCasa () {
esIndependiente = false;
numeroDeFuegos = 0;
}//Cierre del constructor
//Constructor con parametros:
public CocinaCasa (boolean valorEsIndependiente, int valorNumeroDeFuegos) {
esIndependiente = valorEsIndependiente;
numeroDeFuegos = valorNumeroDeFuegos;
}
//Setters
public void setEsIndependiente (boolean valorEsIndependiente) {
esIndependiente = valorEsIndependiente;
}//Cierre del metodo.
public void setNumeroDeFuegos (int valorNumeroDeFuegos) {
numeroDeFuegos = valorNumeroDeFuegos;
}//Cierre del metodo.
//Getters:
public boolean getEsIndependiente () { return esIndependiente; }//Cierre del metodo.
public int getNumeroDeFuegos () { return numeroDeFuegos; }//Cierre del metodo.
}//Cierre de la clase.
Clase Casa:
/** Ejercicio 20 Casa (Pasar objetos como parametros a un metodo o constructor).
* Alumno: Cristian Alberto Balam Martinez.
*/
public class Casa {
private double superficie;
private String direccion;
private SalonCasa salonDeEstaCasa;
private CocinaCasa cocinaDeEstaCasa;
//Constructor:
public Casa () {
superficie = 0.00;
direccion = "Desconocida";
salonDeEstaCasa = new SalonCasa ();
cocinaDeEstaCasa = new CocinaCasa ();
}
//Constructor Con parametros:
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
superficie = valorSuperficie;
direccion = valorDireccion;
salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
}
//Setters:
public void setSuperficie (double valorSuperficie) {
superficie = valorSuperficie;
}
public void setDireccion (String valorDireccion) {
direccion = valorDireccion;
}
//Getters
public double getSuperficie () { return superficie; }//Cierre del metodo.
public String getDireccion () { return direccion; }//Cierre del metodo.
public String getDatosCasa () {
int numeroDeTelevisores = salonDeEstaCasa.getNumeroDeTelevisores();
String tipoSalon = salonDeEstaCasa.getTipoSalon();
boolean esIndependiente = cocinaDeEstaCasa.getEsIndependiente();
int numeroDeFuegos = cocinaDeEstaCasa.getNumeroDeFuegos();
String DatosCasa = "El objeto casa presenta los Siguientes datos, Direccion: "+ direccion + " Numero de telvisores: "+ numeroDeTelevisores +", Supreficie de la casa: "+ superficie +", Numero de televisores: "+ numeroDeTelevisores +", Tipo de Salon: "+ tipoSalon +", La cocina es independiente: "+ esIndependiente +", Numero de fuegos de la cocina: "+ numeroDeFuegos;
System.out.println (DatosCasa);
return DatosCasa;
}
}
-
Hola, en SalonCasa y CocinaCasa ya lo tienes bien pero aquí habría que pensarlo:
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
superficie = valorSuperficie;
direccion = valorDireccion;
salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
}
Lo que tú has hecho es crear nuevos objetos y está bien hecho, no puede decirse que sea un error, pero ¿Por qué no has hecho:
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
superficie = valorSuperficie;
direccion = valorDireccion;
salonDeEstaCasa = objetoSalonCasa;
cocinaDeEstaCasa = objetoCocinaCasa;
}
Esto en realidad es distinto, porque dejas apuntando el atributo al mismo objeto que se recibió como parámetro, mientras que en el caso anterior el atributo apunta a un objeto distinto.
Los nombres todavía no los estás refinando bien, en lugar de setNumerodeTelevisores sería setNumeroDeTelevisores
En la clase Casa te siguen faltando los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.
También te siguen faltando los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase, p.ej. public void getSalonDeEstaCasa () {return salonDeEstaCasa;} es decir, igual que puedes recibir y devolver tipos primitivos puedes recibir y devolver objetos.
Saludos!