Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Teil einer Klasse in einer abgeleiteten Klasse umdefinie

  Alt 17. Okt 2008, 19:46
Naja, ich meine das du eine kleine Klasse machst wie folgt:
Delphi-Quellcode:
TBaseItem = class
  private
    // Felder
end;

TBaseList = class
  private
    fFilename : AnsiString;
    fLength : integer;
    fItems : array of TBaseItem;
  protected
    procedure setitem(item: TBaseItem, index: Integer); virtual;
    function getitem(index: Integer): TBaseItem; virtual;
    function additem(): TBaseItem; virtual;
// Array-Property evtl.
end;
Und dann später sowas:
Delphi-Quellcode:
TMyItem = class (TBaseItem)
    // Felder
end;

TMyList = class(TBaseList)
  protected
    function getitem(index: Integer): TMyItem; override; // inherited aufrufen und casten
    function additem(): TMyItem; override; // tmyitem erstellen !!
end;
Dann kannst du die sachen mit add und delete schon in der Basisklasse machen, und kannst trotzdem später die richtigen Klassen in das Array reinfüllen. Du musst natürlich immer über die überschriebenen Funktionen gehen (das Array ist ja eh private) damit du auch schon den richtigen Typ casten kannst.
  Mit Zitat antworten Zitat