Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2014
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Poder: 14
pape19 Va por buen camino
Programación Orientada a Objetos - Aplicación

Buenas tardes.

A algunos mi consulta les parecerá algo tonta, pero es algo que me está costando implementar en Delphi y necesito de su ayuda.

Las aplicaciones que he hecho en Delphi, sean simples o con alguna complejidad fue siempre programando de manera procedural, nunca cree una clase; y ahora necesito y siento curiosidad por aplicar todos mis conocimientos teóricos aprendidos de POO en la práctica, y tengo ciertas dudas del orden en el que se escriben las cosas.

Vamos a suponer, que mi aplicación es un ABM de Empleados, con una base de datos Firebird. Para conexion con la bd utilizo componentes IB. Creo la siguiente clase:

Código Delphi [-]
TEmpleado = class
    Referencia: Integer;
    Nombre: String;
    FechaNacimiento: TDate;
    Procedure ValidarEmpleado(objEmpleado : TEmpleado);
    Procedure GuardarEmpleado(objEmpleado : TEmpleado);

  private
    { Private declarations }
  public
    { Public declarations }
    Procedure SetReferencia(IdEmpleado: Integer);
    Procedure SetNombre(Nombre: String);
    Procedure SetFechaNacimiento(FechaNacimiento: TDate);
    Function GetReferencia(): Integer;
    Function GetNombre(): String;
    Function GetFechaNacimiento(): TDate;

Luego tengo un form(F_Empleados) con tres botones(alta, baja y modificación de empleados) y un DataModule(Name dmDatos) con un objeto IBTable, llamado tblEmpleados. El boton Alta:

Código Delphi [-]
procedure TF_Empleados.btnAltaClick(Sender: TObject);
begin
    Empleado := TEmpleado.Create();
    TblEmpleados.Active := True;
    TblEmpleados.Insert;
    F_ABMEmpleado.show;
end;

F_ABMEmpleado es otro form, el cual muestro al apretar Alta, donde tengo 3 Edits para el ingreso de los datos del empleado. Y un botón Guardar.

En ese botón guardar hago...

Código Delphi [-]
    Empleado.SetReferencia(Edit1.Text);
    Empleado.SetNombre(Edit2.Text);
    Empleado.SetFechaNacimiento(Edit3.Text);
    Empleado.ValidarEmpleado(Empleado);
    Empleado.GuardarEmpleado(Empleado);
    F_ABMEmpleado.Close;

Ahora les muestro mis métodos ValidarEmpleado() y GuardarEmpleado() de la clase Empleado

Código Delphi [-]
Procedure TEmpleado.ValidarEmpleado(objEmpleado : TEmpleado);
Begin
  if ((objEMpleado.Nombre = '') then
  Begin
    showmessage('ERROR');
    abort;
  End;
End;

Procedure TEmpleado.GuardarEmpleado(objEmpleado : TEmpleado);
Begin
    dmDatos.tblEmpleadosREFERENCIA.Value := objEmpleado.Referencia;
    dmDatos.tblEmpleadosNOMBRE.Value := objEmpleado.Nombre;
    dmDatos.tblEmpleadosFECHA_NAC.Value := objEmpleado.FechaNacimiento;

    dmDatos.tblEmpleados.Post; //IBTable
    dmDatos.transFleetDB.Commit; //IBTransaction
    dmDatos.tblEmpleados.Active := False;
End;

El código funciona. Ahora bien...es la manera correcta de hacerlo????? En el método GuardarEmpleado de la clase Empleado, defino tblEmpleados.... para pasar los datos a la base, por lo cual, esta clase no sirve para otra aplicación donde se necesite una clase Empleado; esto ultimo es lo que me hace dudar de si está bien escrito o no. Que consejos pueden darme??


Disculpen las "pifias" que pude haber tenido en la explicación. Muchas gracias.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Programación orientada a objetos + Aplicacion Ejemplo pape19 Varios 4 19-06-2013 14:13:06
Programacion orientada a Objetos...duda total.... Kenobi Varios 20 30-07-2008 15:38:25
Programacion Orientada A Objetos sdiaz1983 Varios 8 16-11-2007 02:42:46
Es la Programación Orientada a Arquitectura una evolución de OOP? Roll06lm OOP 4 23-10-2007 00:33:50
Programación Orientada a Aspectos marcoszorrilla Debates 17 06-04-2004 23:18:27


La franja horaria es GMT +2. Ahora son las 10:02:30.


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