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 67<br />

if(c1.estaVencido(2005)){<br />

System.out.println(c1+ “está vencido");<br />

}<br />

}<br />

}<br />

if(c2.estaVencido(1990)){<br />

System.out.println(c2+ “ está vencido");<br />

}<br />

6.3 Ejemplo: Temperatura<br />

Este ejemplo tiene como objetivos: definir una clase, discutir posibles diseños, mostrar una<br />

implementación y analizar los problemas que tiene.<br />

Quiero manejar temperaturas -en celsius y fahrenheit- pero no solamente como números. Quiero<br />

poder crear objetos, comparar, imprimirlos. Así, me gustaría poner en un programa:<br />

Temperatura t1 = new Temperatura (100, ‘c’);<br />

Temperatura t2 = new Temperatura (212, ‘f’);<br />

Poder asimismo realizar comparaciones:<br />

if (t1.equals (t2)).....<br />

También queremos que se impriman adecuadamente: 100 grados centígrados. Necesitaré definir<br />

una escala por defecto para la impresión.<br />

Para comparar, debo llevar a la misma unidad. Eso implica definir cómo me conviene<br />

almacenar la temperatura.<br />

¿Cómo los puedo almacenar? Analizaremos distintos diseños. Podría internamente:<br />

- llevar 3 números y 3 unidades: un posible problema es la redundancia;<br />

- un número y su unidad: problema: deberá convertir muchas veces; ó<br />

- llevar siempre en una única unidad, por ejemplo, celsius.<br />

6.4 Código de Temperatura<br />

Analizar el siguiente código.<br />

package temperatura;<br />

public class ClasePruebaTemperatura {<br />

public static void main (String args[] ) {<br />

Temperatura unaT, unaT2;<br />

Temperatura. setEscalaPorDefecto("Celsius");<br />

unaT = new Temperatura(100,'c');<br />

unaT2 = new Temperatura(212,'f');<br />

System.out.println("Comparo y debe ser verdadero: "+unaT.equals(unaT2));<br />

System.out.println("La primera temperatura es "+unaT);<br />

unaT2.setCelsius(200);<br />

System.out.println("Comparo Primera temperatura con la segunda y es<br />

"+unaT.equals(unaT2)); // sale false<br />

unaT.setCelsius(100+60+40);<br />

System.out.println("Luego de cambiar el valor "+ unaT.equals(unaT2)); // sale true

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

Saved successfully!

Ooh no, something went wrong!