Thema: Delphi OOP und ihre Tücken...

Einzelnen Beitrag anzeigen

DelphiCreak

Registriert seit: 3. Sep 2008
51 Beiträge
 
Delphi 2007 Enterprise
 
#1

OOP und ihre Tücken...

  Alt 8. Sep 2012, 18:53
Ich arbeite gerade an einem Dateisystem mit funktionen für Zip's etc, und bin darauf auf ein interessantes verhalten gestoßen:

Ich habe mehrere Klassen für eine Datei(noFile, noFile_Permanent, noFile_Memory, noFile_InZip), um eben die verschiedenen Instanzen von Dateien speichern zu können. Die letzten 3 erben nun wiederum von noFile.

Hat man nun allerdings eine Prozedur a la:

Delphi-Quellcode:
function GetOSFile: noFile;
begin
   Result := noFile_Permanent.Create;
end;
Landet man, wenn man die Rückgabe dieser Prozedur anspricht, bei den Prozeduren der BasisKlasse noFile (z.B. habe ich eine Methode Length, die bei noFile = 0 zurückgibt, bei Permanet die Länge der Datei), statt bei denen von noFile_Permanent.

Nun zur eigentlichen Frage: Warum geht das überschreiben der Prozeduren verloren?
Nach meinem Verständnis von OOP sollte man über das Ergebnis doch jetzt die (überschriebenen) Prozeduren von noFile_Permanent ansprechen. Warum ist das nicht so, oder was mache ich falsch?
Dominik C.
Orientierungslos sieht man mehr vom Leben.

Geändert von TBx ( 9. Sep 2012 um 11:01 Uhr) Grund: Titel korrigiert
  Mit Zitat antworten Zitat