programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
88 Programación I<br />
Ejemplo 2: Si creo un empleado y quiero setear su sueldo:<br />
Persona p4;<br />
p4 = new Empleado();<br />
p4.setSueldo(100);<br />
Así no funciona, informa algo similar a que el “método setSueldo no está en Persona”. Para<br />
Java es un objeto Persona, aunque en realidad es un Empleado. Para indicarle que lo mire como<br />
empleado es necesario hacer downcast. Para ello, se especifica entre paréntesis el nombre de la<br />
clase.<br />
((Empleado)p4).setSueldo(100);<br />
Ejemplo 3: ¿Funciona? ¿Qué sale?<br />
Persona p2 = new Persona();<br />
Empleado e3 = (Empleado) p2;<br />
System.out.println(e3.mensaje());<br />
Da error en ejecución, no puede hacer el cast de Persona a Empleado, pues no toda persona es<br />
empleado.<br />
8.4 Práctico 8<br />
Práctico No. 8<br />
Tema: Herencia<br />
1) Definir la clase Estudiante como subclase de Persona. El estudiante tiene además número.<br />
Verificar que los métodos y variables de instancia definidos como protected se heredan.<br />
Probar con private y public.<br />
2) En el práctico 5 se definió la clase Funcionario. Extenderla para incluir mensuales y<br />
jornaleros (el cálculo del sueldo es diferente: el mensual tiene un valor fijo por mes, el jornalero<br />
tiene un valor diario y se le paga según la cantidad de días trabajados ese mes).<br />
Agregar las clases, métodos y variables necesarias. Probarla.<br />
3) Experimentar con la derivación simple: escribir un constructor de la subclase que no refiera<br />
explícitamente al constructor de la superclase. Explicar qué ocurre.<br />
4) Los métodos y variables de clase, ¿se heredan?<br />
5) Explicar, usando la API de Java, las siguientes líneas. Identificar packages, clases, objetos y<br />
métodos.<br />
a) import java.util.*;<br />
b) int number = Math.abs(-12) ;<br />
c) System.out.println(“hola”);<br />
d) BufferedReader in = new BufferedReader (new InputStreamReader(System.in));<br />
e) Scanner in = new Scanner(System.in);