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.
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.