Visibilidad¶
A lo largo del curso se ha ido hablando del concepto de scope o visibilidad, que si lo aplicamos a herencia nos quedaría tal y como se presenta en la siguiente figura:

Actividades¶
-
AC 710 (RA7/ CE7a CE7b CE7c CE7d CE7e CE7f CE7g CE7h CE7j / IC1 / 3p). Usando composición has de crear un total de 5 clases de la siguiente forma:
-
a. Crea una clase llamada
Lampara
con tres variables de instancia:estilo
de tipoString
,batería
de tipobooleano
ycalificación
de tipo entero. Todas las variables deben ser privadas. La clase se debe construir con los tres parámetros. Añade 4 métodos: -
encender
sin tipo de retorno y debe imprimir el mensaje de que la lámpara se ha encendido, getEstilo
devuelve el estilo de la lámpara,hayBateria
devuelve el booleano de batería y-
getCalificacion
que devuelve la calificación de la lámpara. -
b. Crea una clase llamada
Cama
con 5 atributos privados:estilo
String
,almohadas
,altura
,sabanas
ycolcha
de tipo entero. El constructor debe ser implementado con esos 5 atributos. Agrega los métodos: -
hacer
no devuelve nada e imprime que se ha hecho la cama, -
los
getters
de estilo, almohadas, altura, sábanas y colcha. -
c. Añade una clase llamada
Techo
con dos variables:altura
ycolor
de tipo entero. Constructor con todos los parámetros. Y los dos métodosgetter
. - d. Crea una clase llamada
Pared
con una variabledirección
de tipoString
, su constructor con una variable y el métodogetter
. -
e. La última clase será
Habitación
y contendrá 8 variables de instancia:nombre
de tipoString
,pared1
,pared2
,pared3
ypared4
de tipo Pared,techo
de tipoTecho
,cama
de tipoCama
ylampara
de tipoLampara
. El constructor debe contener las 8 variables. La clase debe tener dos métodos: -
getLampara
que devuelve el objeto lampara -
hacerLaCama
que imprime el mensaje se está haciendo la cama y llama al métodohacer
en la claseCama
. -
f. Crea una clase
Main
con un métodomain
que pruebe el código. - g. Añade código y métodos para probar el método encender de la clase
lampara
.
-
-
AC 711 (RA7/ CE7a CE7b CE7c CE7d CE7e CE7f CE7g CE7h CE7j / IC1 / 3p). Teniendo en cuenta el principio de encapsulación usado en POO crea una clase llamada
Impresora
, que simulará una impresora real. Debe tener los campos de nivel de tóner, número de páginas impresas y si es una impresora con impresión a doble cara. Añade:- a. Un método para añadir una cantidad de tóner al nivel actual, este método actualizará el nivel de tóner (hasta un máximo 100%), la cantidad de tóner que se va a añadir debe estar entre 0-100. Comprobar también que al añadir la cantidad de tóner no se supere el nivel de tóner. Si cualquier condición falla debe devolver -1 en caso contrario se devuelve el nuevo nivel de tóner.
- b. Otro método que simule la impresión de páginas (el cuál debe actualizar el número de páginas impresas). Se le pasarán las páginas a imprimir. También se tendrá en cuenta si la impresora es a doble cara, ya que entonces se habrá de calcular cuántas páginas se imprimen. El método debe devolver las páginas a imprimir y actualizará el valor del número de páginas impresas.
- c. Método getter que devuelve el número de páginas impresas.
- d. Decide que visibilidad van a tener los campos, si es necesario un constructor o no y cualquier cosa que creas necesaria.
- e. Crea una clase
MainEncapsulacion
con unmain
con código de prueba.