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.

Programación I 57<br />

c2.setChapa (5555);<br />

System.out.println(c1.getColor());<br />

System.out.println("Chapa del camion 2 es "+c2.getChapa());<br />

}<br />

}<br />

Ejecutarlo.<br />

Se crearon 2 instancias de Camión, le hemos enviado mensajes y han respondido.<br />

5.5.5 Impresión de los objetos (toString)<br />

Probar qué pasa si se sustituye: System.out.println(c1.getColor()) por: System.out.println(c1);<br />

Se obtiene una descripción del camión no demasiado útil, pues sale el nombre de la clase, el<br />

símbolo @ y probablemente números y letras. Para poder definir un formato más cómodo es<br />

necesario reescribir el método toString en la clase Camión. Dicho método toString devuelve una<br />

representación en String que representa al objeto. Está definido en Object, y como todas las<br />

clases derivan de ella, lo pueden usar.<br />

Habitualmente se redefine este método, para que muestre lo que necesito. Cuando se redefine un<br />

método se dice que se hace override, se sobreescribe. El toString es polimórfico, tiene muchas<br />

formas. Depende de la clase, cuál forma tiene.<br />

Así:<br />

public class Camion {<br />

// variables de instancia<br />

private int chapa;<br />

private String color;<br />

// métodos de acceso y modificación<br />

public int getChapa() {<br />

return chapa;<br />

}<br />

public void setChapa(int unaChapa) {<br />

chapa = unaChapa;<br />

}<br />

public String getColor() {<br />

return color;<br />

}<br />

public void setColor(String unColor) {<br />

color = unColor;<br />

}<br />

// Para imprimir<br />

@ Override<br />

public String toString() {<br />

return “Camion de color “ + this.getColor() + “ con chapa “+ this.getChapa();<br />

}<br />

}<br />

El método toString es invocado automáticamente al imprimir. La línea @Override se utiliza<br />

para indicarle explícitamente al compilador que se está sobreescribiendo un método, en este<br />

caso el método toString.<br />

Para poder referirse en la clase Camión al propio objeto, es decir, al que recibió el mensaje se<br />

utiliza la palabra this.

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

Saved successfully!

Ooh no, something went wrong!