Hola jaivcaba
Ahora tu ejercicio de clases que utilizan objetos está perfecto. OK
En cuanto al uso de la palabra clave 'this', me he avanzado a la entrega CU00652B donde se explica su uso.
Un caso particular del uso de this es el que te puse en el código
public void setSalonCasa (SalonCasa salonCasa){
this.salonCasa = salonCasa;
}
Como ves, el atributo de la clase se llama salonCasa, y el parámetro que recibe el método se llama igual. Pues bien, para que el compilador sepa quien es quien, le decimos.
El atributo de esta clase salonCasa (this.salonCasa) es igual al parámetro recibido que se llama también (salonCasa)
Este mismo método se puede usar sin 'this' haciendo los siguientes cambios
public void setSalonCasa (SalonCasa valorSalonCasa){
salonCasa = valorSalonCasa;
}
Donde al no haber coincidencia de nombres no es necesario el uso de 'this'.
Aunque la siguiente signatura no solo es válida sino que se explica ella sola identificando quién es el atributo de la clase.
public void setSalonCasa (SalonCasa valorSalonCasa){
this.salonCasa = valorSalonCasa;
}
Hay programadores que evitan si pueden el uso de this, y otros lo utilizan a la mínima oportunidad. Eso depende de cada cual
Saludos