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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

84 Programación I<br />

public Material() {<br />

this.setTitulo("Sin titulo");<br />

}<br />

// Constructor de Publicación:<br />

public Publicacion() {<br />

this.setCantidadPaginas(1);<br />

}<br />

// Constructor de Libro:<br />

public Libro() {<br />

this.setISBN("Sin ISBN");<br />

}<br />

Automáticamente invoca primero al constructor de la superclase.<br />

8.3.4 toString y super<br />

¿Ocurrirá lo mismo con el método toString? O sea, para imprimir, ¿el toString también llama al<br />

mismo método de la superclase? ¡No!. Solamente el constructor sin parámetros es llamado<br />

automáticamente. Aún así, no queda práctico tener que volver a poner todo. Además si después<br />

agrego un atributo, ¿debo modificar todo?<br />

La forma de referirme a un método de la superclase es con la palabra reservada super.<br />

Reescribiremos el método toString con super. Como estamos sobreescribiendo, agregamos<br />

también @Override.<br />

@Override<br />

public String toString() {<br />

return super.toString() + "-"+this.getCantidadPaginas();<br />

}<br />

// Método en clase Libro<br />

@Override<br />

public String toString() {<br />

return super.toString() + this.getIsbn();<br />

}<br />

El uso de super debería ser solamente cuando es imperioso, o sea, cuando se desea acceder<br />

explícitamente al método respectivo de la superclase y se desea que la búsqueda de dicho<br />

método comience en la superclase, salteando el de la propia clase.<br />

8.3.5 Clases Abstractas<br />

Probar cambiar public class Publicacion por public abstract class Publicacion. ¿Se puede crear<br />

instancias de Publicación? No, si se indica que una clase es abstracta no se pueden crear<br />

instancias de ella. Se profundizará más adelante.

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

Saved successfully!

Ooh no, something went wrong!