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.