Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Como dijo mamcx, creo que es un abuso de jerarquía, pero veo las clases:
* THabitacion.
* TCliente.

La clase es THabitacion y el resto son estados de él

IsOcupadaCliente es una propiedad que verifica el Estado y devuelve verdadero o falso.

TCliente es otra clase que tiene los datos de cada cliente.

Luego tendrias que tener una lista de clientes.

y cuando se ocupa una habitación lo que haces es asiganarle el cliente a la habitación, de manera de hacer, por ejemplo:
Habitacion.Cliente.Nombre

De esta forma tambien te va a resultar mucho más facil en un futuro si queres almacenar los datos en una base de datos, en archivo de texto o lo que sea.
__________________
[Crandel]
Responder Con Cita
  #2  
Antiguo 22-09-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Ampliando un poco lo dicho por Crandel:

La clase THabitación puede tener una propiedad Estado, tal que:

Código Delphi [-]
TEstadoHabitacion = (ehDisponible, ehReservada, ehOcupadaCliente,
  ehOcupadaPersonal, ehRenovada, ehWarning, ehVencida, ehLimpieza,
  ehMantenimiento);

THabitacion = class
private
  FEstado: TEstadoHabitacion;

  function GetIsOcupadaCliente: Boolean;
public
  property Estado: TEstadoHabitacion read FEstado write FEstado;
  property IsOcupadaCliente: Boolean read GetIsOcupadaCliente;
end;

implementation

procedure THabitacion.IsOcupadaCliente: Boolean;
begin
  Result := FEstado = ehOcupadaCliente
end;

Saludos...
Responder Con Cita
  #3  
Antiguo 22-09-2005
adlfv adlfv is offline
Miembro
 
Registrado: may 2005
Posts: 39
Poder: 0
adlfv Va por buen camino
Smile

Muchas gracias a todos por contestar...

Lo que pasa es que estoy "reinventando la rueda"... Llevo un tiempo ya con este programa, y lo había hecho todo "a lo bestia" prescindiendo de la POO, empleando basicamente un vector y un tipo enumerado... Ahora estoy rehaciendo todas las tripas del programa para hacerlo lo mejor posible para posibles expansiones, personalizaciones y mejoras en el futuro...

Y bueno, con la mentalidad "hibrida" de antes y ahora, a veces lo obvio no se vé tan claro jeje .

Es horriiiiiiiible la labor de re-ingeniería... Lo ideal hubiera haberlo hecho bien desde un principio, prácticamente lo que he hecho ha sido tiempo perdido... Lo único que sí he podido aprovechar es el diseño de la base de datos... El resto, mucho lo he tenido que retocar, o rehacer... Espero que el resultado final sea ampliamente "escalable" y flexible...

Muchas gracias de nuevo a todos.

Un cordial saludo...
Responder Con Cita
  #4  
Antiguo 23-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.938
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por adlfv
Es horriiiiiiiible la labor de re-ingeniería...
No creo eso!.. creo que a la mayoría de los programadores nos encantaría rediseñar lo que está funcionando...
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 23-09-2005
adlfv adlfv is offline
Miembro
 
Registrado: may 2005
Posts: 39
Poder: 0
adlfv Va por buen camino
Sí claro, a mi me gusta...

Me refería a que resulta doloroso ver que "lo que funcionaba" ya no funciona al estar en proceso de reconstrucción... Eso sí es horrible... Pero va dando gusto cuando empieza a funcionar de nuevo .
Responder Con Cita
  #6  
Antiguo 26-09-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si necesitas algun metodo que no existe en un aclase y es eredada simplemete has un casting pero si solo quieres que lo smetodos no sean implemtados por la supercalse(clase base) y se implmemnten el los heredados usa metodos abstractos el cla clase base o virtuale si levan algun codigo en comun y le haces un overrride en la caklse que lo heredan.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:11:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi