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

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 07-06-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Solo que en el caso de los constructores, estos no son virtuales, por lo que no hay que poner override en su declaración.

Siempre, lo normal, dentro del constructor es llamar a un constructor de la clase padre, que a su vez llamará a otro de su ancestro y así hasta llegar al constructor de TObject, que es el que hace la reserva y la inicialización de memoria.

Podes hacer algo como:

Código:
Type
  MiClase = Class(OtraClase)
  public
    Constructor Create(Parametro1, Parametro2 : Tipo);
    Destructor destroy; override;
  end;
Fijate que el destructor si es virtual, y es imprescindible, si lo vas a integrar a la VCL que pongas el override para que funcione correctamente, pues los owners llamarán al método Destroy para liberar la memoria, y si no has puesto override, tu clase no tendrá oportunidad de liberar la memoria o recursos que reserve por si mismo.

Lo normal luego, es hacer algo como:

Código:
Constructor MiClase.Create(Parametro1, Parametro2 : Tipo);

Begin
  // lo primero es llamar a un constructor de la clase padre
  inherited Create(ConSusParametros);
  // luego, la inicialización normal del objeto
End;

Destructor MiClase.Destroy;

Begin
  // primero, libero memoria, recursos, notificaciones, etc.
  CualquierCosa;
  // por último, llamo al destructor del ancestro...
  inherited;
End;
Es importante mencionar que el método destroy no lleva parámetros.

Es una convención llamar al constructor Create, pero no es necesario.... lo podes llamar como querras. En realidad, también al destructor, pero insisto, si lo vas a integrar a la VCL, también debes llamarlo Destroy.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 03:52:31.


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