Skip to content

algo1unsam/2019s1-e1-empanadas-matilegen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Empanadas Giménez

Planteo inicial

En "Empanadas Giménez", un modesto local de delivery de empanadas, tenemos dos empleados:

  • Giménez, que cobra un sueldo fijo. El valor arranca en $ 15.000, y después puede cambiar mes a mes.
  • Baigorria, el joven y esforzado empleado de Giménez, cobra en base a la cantidad de empanadas vendidas (actualmente $ 15 por empanada).

Un tercer empleado, el señor Galván, es el encargado de pagarle el sueldo a los empleados, y de gestionar el dinero qe se utiliza para esto. Asumimos que Galván arranca con un fondo para sueldos de $ 300.000. Como los sueldos salen de este fondo, hay que descontar el importe correspondiente cuando Galván le paga a un empleado.

Por ahora no vamos a tener en cuenta qué hace cada empleado al recibir el dinero, el único efecto que nos interesa del pago es que disminuye el fondo de Galván.


Qué hacen los empleados con lo que cobran

Se modifica el método pagarA(empleado) de Galván de esta forma

method pagarA(empleado) {
    dinero -= empleado.sueldo()
    empleado.cobrarSueldo()
}
  • probar haciendo que Galván le pague a Baigorria. Se rompe. ¿Por qué?
  • ¿qué método o métodos hay que agregar, en qué objeto u objetos, para que Galván le pueda pagar el sueldo a cualquiera de los dos empleados?
  • agregar esos métodos con el siguiente criterio: Baigorria cuando cobra el sueldo lo suma a un acumulador de todo lo que cobró, agregarle la capacidad de entender el mensaje totalCobrado(). Giménez no hace nada.

Manejo fino de las finanzas de Giménez

Modificar el comportamiento de Giménez para que maneje sus gastos, el dinero que tiene, y su deuda. Cuando Giménez gasta, se descuenta de su dinero, si no le alcanza aumenta la deuda. Cuando cobra un sueldo, Giménez paga sus deudas. Si sobra algo, se suma al dinero que tiene. Agregar a Giménez la capacidad de entender los mensajes: gastar(cuanto), totalDeuda(), totalDinero().

Tener en cuenta este escenario

  1. Giménez arranca con 15000 de sueldo, deuda en 0, dinero en 0.
  2. Giménez gasta 4000, totalDeuda() debe ser 4000, totalDinero() debe ser 0.
  3. Giménez gasta otros 8000, totalDeuda() pasa a 12000, totalDinero() sigue en 0.
  4. Giménez cobra, con los 15000 que recibe paga toda su deuda y le sobran 3000 pesos. Por lo tanto, totalDeuda() debe ser 0, y totalDinero() debe ser 3000.
  5. Giménez gasta 25000, cubre 3000 con el dinero que tiene, el resto es deuda. totalDeuda() queda en 22000, totalDinero() en 0.
  6. Giménez cobra, tiene que dedicar los 15000 a pagar deudas, y no le alcanza. Ahora, totalDeuda() pasa a 7000, y totalDinero() a 0.

Conceptos vistos en el ejemplo

  • Modelar objetos
  • Polimorfismo entre Baigorria y Giménez.
  • Para pensar: ¿qué mensajes entiende cada uno? ¿qué efecto produce al utilizar ambos objetos en el REPL?

About

2019s1-e1-empanadas-matilegen created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages