Replies: 1 comment
-
@enmabry ¡Perdona, no lo he visto sino hasta ahora! A ver si logro hacerme entender por aquí: voy tirando ideas, espero que al final puedan verse conexas. Y si no lo extendemos en clase. Cuando sobrecargas un método, es porque existe más de una forma lógica de realizar la opearación. De lo que planteas, entiendo que quieres que cuando se abra o cierre una caja, quede registrada la hora y la persona que la cierra (un responsable, vamos). Voy a concentrarme en el administrador, porque a priori lo del horario se me escapa. Cuando creas una caja, puedes o no pasarle un administrador. Luego la abres. Si la abres sin pasarle un nuevo administrador, entonces la sigue gestionando el anterior. Si la abres pasándole un administrador, si hubiera un anterior, quedará reemplazado por el nuevo que entra. Estos dos puntos se aplican cuando la abras por primera vez o bien si la abres luego de haberla cerrado previamente. Al cerrar la caja no haría falta pasar un administrador, porque ya estaría asociado: es la persona que se asoció al abrirla. Cerrar la caja no es destruirla, sino dejarla en estado cerrado. Luego puedes volver a abrirla nuevamente. class Caja{
public Caja(Administrador administrador)
public Caja()
public void abrir()
public void abrir(Administrador administrador)
public void cerrar()
} Ahora, retomando el tema del horario, si te refieres a guardar el momento en el que ocurren cosas en el sistema, la caja puede implementar la manera de sacar la hora del sistema, con lo cual no sería necesario que le pases ese dato, salvo que quieras actualizar una hora que no sea la de sistema, con lo cual, efectivamente, podrías sobrecargarlo pasándole el parámetro de hora: class Caja{
public Caja(Administrador administrador)
public Caja()
public void abrir()
public void abrir(Hora hora)
public void abrir(Administrador administrador)
public void abrir(Administrador administrador, Hora hora)
public void cerrar()
public void cerrar(Hora hora)
} |
Beta Was this translation helpful? Give feedback.
-
Hola Manuel,
Hablamos sobre la sobrecarga de métodos en clase, en mi cabeza esto funciona, pero ¿Está bien? :
public void abrirCaja(Horario horario);
public void cerrarCaja(Horario horario);
public void abrirCaja(Administrador administrador);
public void cerrarCaja(Administrador administrador);
Y otra pregunta más en la esencia del código es si ¿Es factible tener esos parámetros? O habrá una manera más eficiente o optimizada de hacerlo.
Beta Was this translation helpful? Give feedback.
All reactions