Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jesu en 18 de Enero 2017, 02:14
-
Ejercicio CU00642B del curso de bases de la programación Java.
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();
}
}
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;
}
}
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.
-
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
-
No tengo demasiado claro el concepto de pasar objetos en constructores, así que aquí está mi código. leo sugerencias. Gracias :D,
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;
}
}
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;
}
}
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();
}
}
-
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