RA7 - CEb¶
Empaquetar actividades
Empaqueta las actividades, dentro de la carpeta ut08, en la carpeta actividades/ce7b.
Actividad 06¶
paquete: A06_preguntas2
Dada las siguientes definiciones de clases:
Responde a las siguientes cuestiones justificando las respuestas:
a) ¿Es necesario el uso de this en el constructor de la clase Estudiante?
b) ¿Es necesario el uso de super en el método toString de la clase Estudiante?
c) Si quitásemos el constructor de la clase Estudiante ¿daría un error de compilación?
d) En el método toString de la clase Empleado ¿por qué es incorrecto el acceso que se hace al atributo nombre? ¿Cómo se tendría que definir nombre en la clase Persona para evitar el error?
e) ¿Qué consecuencia tiene que algunos métodos de la clase Persona se hayan definido final?
f) Si el método toString no se hubiera definido en ninguna de las tres clases ¿daría error el sout del método main?
Actividad 07¶
Seguridad en la Jerarquía de Empleados
- Crear una clase
Empleadocon los atributosnombre,dniy un métodocalcularSueldo(). El métodocalcularSueldo()será final y no podrá sobrescribirse. - Crear una subclase
Gerenteque herede deEmpleado. En esta clase se añadirá un atributobonoy un método que devuelva el sueldo total, sumando el bono. El métodocalcularSueldo()no podrá sobrescribirse debido al uso del modificadorfinal. - Crear una subclase
Internoque no pueda tener subclases adicionales utilizando el modificadorfinalen la clase. - Implementar una clase
TestEmpleadosque pruebe las restricciones de herencia y sobrescritura en las subclases.