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
  #1  
Antiguo 21-11-2005
Jome Jome is offline
Registrado
 
Registrado: nov 2005
Posts: 8
Poder: 0
Jome Va por buen camino
Listas de objetos: ¿Herencia o Encapsulación?

Hola.

Antes que nada quiero saludar a todos puesto que es mi primer post, así como agradecer de antemano vuestra ayuda.

Vamos al asunto.
Se trata de una simple clase que va a contener una lista de objetos. Para ello me voy a apoyar en la clase TStringList (va a poseer Valores y Objetos asociados).

¿Qué creéis que es más correcto (o elegante)?

Código Delphi [-]
  TMiLista = class
   protected
     FObjetos: TStringList;
   public
     constructor Create;
     destructor Destroy; override;
     function AddObjeto(const Abbrev: string; Objeto: TMiObjeto): Integer;
     function GetObjeto(Abbrev: string): TMiObjeto;
   end;
   
   
   TMiLista = class(TStringList)
   private
     function GetObject(ObjIndex: Integer): TMiObjeto;
     procedure SetObject(ObjIndex: Integer; const Value: TMiObjeto);
   public
     destructor Destroy; override;
     function GetObjeto(Abbrev: string): TMiObjeto;
     property Objects[ObjIndex: Integer]: TMiObjeto read GetObject
       write SetObject;
   end;

Hay que tener en cuenta que, si posible, no quiero dar acceso a la propiedad Objects, es decir, no dar acceso a los objetos de la lista directamente, sino hacerlo sólo a través de los métodos (establecer como una "caja negra").
Por ello, mi preferencia es la primera clase, pero si me decís que no es elegante, o no se suele hacer, pues utilizaré la segunda clase.

Muchas gracias.
Un saludo.

EDITO para modificar modificar y aclarar un poco el título.

Última edición por Jome fecha: 24-11-2005 a las 12:03:44.
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 05:33:20.


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