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.
72 Programación I<br />
this.setDolares(unMontoDolar);<br />
this.setCentavos(unMontoCentavos);<br />
}<br />
// acceso y modificación<br />
public int getCentavos() {<br />
return centavos;<br />
}<br />
public int getDolares() {<br />
return dolares;<br />
}<br />
public void setCentavos(int unMontoCentavos) {<br />
centavos = unMontoCentavos;<br />
}<br />
public void setDolares(int unMontoDolares) {<br />
dolares = unMontoDolares;<br />
}<br />
// impresion<br />
@Override<br />
public String toString() {<br />
return "$" + this.getDolares()+ "."+this.getCentavos();<br />
}<br />
// suma<br />
public Moneda sumar(MonedaS unaMoneda) {<br />
return new Moneda(this.getDolares()+unaMoneda.getDolares(),<br />
this.getCentavos()+ unaMoneda.getCentavos());<br />
}<br />
}<br />
Observemos en particular qué ocurre cuando se crea una moneda con 10 dólares y 4 centavos.<br />
¿Cómo se imprimirá? Saldrá $10.4, en vez de $ 10.04. Es necesario ajustar el método toString.<br />
También analicemos qué ocurre si sumamos 5 dólares 90 centavos con 4 dólares 50 centavos.<br />
Daría 9 dólares con 140 centavos. Es necesario entonces corregir el método de suma. Pensando<br />
a futuro, cuando se implemente el método para restar será necesario incluir la lógica para<br />
contemplar el caso de "pedirle" a los dólares, por ejemplo, si se desea restar 5 dólares 90<br />
centavos de 10 dólares, 3 centavos.<br />
Ante la complejidad que está tomando el diseño de esta clase es bueno replantearse si esta<br />
forma de almacenar por separado dólares y centavos resulta apropiada. Otra alternativa sería<br />
llevar "todo junto", en centavos:<br />
package moneda;<br />
public class Moneda {<br />
private int totalCentavos;<br />
public Moneda() {<br />
this.setTotalCentavos (0);<br />
}<br />
public Moneda(int centavos) {<br />
this.setTotalCentavos (centavos);