10.05.2014 Views

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

SHOW MORE
SHOW LESS

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);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!