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
Lamparacon tres variables de instancia:estilode tipoString,bateríade tipobooleanoycalificaciónde tipo entero. Todas las variables deben ser privadas. La clase se debe construir con los tres parámetros. Añade 4 métodos: -
encendersin tipo de retorno y debe imprimir el mensaje de que la lámpara se ha encendido, getEstilodevuelve el estilo de la lámpara,hayBateriadevuelve el booleano de batería y-
getCalificacionque devuelve la calificación de la lámpara. -
b. Crea una clase llamada
Camacon 5 atributos privados:estiloString,almohadas,altura,sabanasycolchade tipo entero. El constructor debe ser implementado con esos 5 atributos. Agrega los métodos: -
hacerno devuelve nada e imprime que se ha hecho la cama, -
los
gettersde estilo, almohadas, altura, sábanas y colcha. -
c. Añade una clase llamada
Techocon dos variables:alturaycolorde tipo entero. Constructor con todos los parámetros. Y los dos métodosgetter. - d. Crea una clase llamada
Paredcon una variabledirecciónde tipoString, su constructor con una variable y el métodogetter. -
e. La última clase será
Habitacióny contendrá 8 variables de instancia:nombrede tipoString,pared1,pared2,pared3ypared4de tipo Pared,techode tipoTecho,camade tipoCamaylamparade tipoLampara. El constructor debe contener las 8 variables. La clase debe tener dos métodos: -
getLamparaque devuelve el objeto lampara -
hacerLaCamaque imprime el mensaje se está haciendo la cama y llama al métodohaceren la claseCama. -
f. Crea una clase
Maincon un métodomainque 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
MainEncapsulacioncon unmaincon código de prueba.