programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
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.