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