![]() |
Re: Was bedeutet 'final'?
Zeig doch erst mal, was bei Dir nicht geht :)
|
Re: Was bedeutet 'final'?
Zitat:
Delphi-Quellcode:
Und wo kommt jetzt das "final" hin?
TOberklasse = class
function getIt: String;virtual; end; TUnterklasse = class(TOberklasse) function getIt: String;override; end; |
Re: Was bedeutet 'final'?
Zitat:
Delphi-Quellcode:
TUnterklasse = class(TOberklasse)
function getIt: String; override; final; end; |
Re: Was bedeutet 'final'?
Zitat:
und arbeite mit Delphi 7 Architect Build 4.453 in der Hilfe gibts nix über final??? ab welcher version gibt´s das :gruebel: |
Re: Was bedeutet 'final'?
Gerade mit meinem Turbo Delphi getestet:
Delphi-Quellcode:
Das gibt keine Fehlermeldung.
type
ClassA = class function Test : String; virtual; end; ClassB = class(ClassA) function Test : String; reintroduce; end; ClassC = class(ClassA) function Test : String; override; final; end; Schreibt man das final zusaetzlich bei ClassA.Test dran, so gibt es eine Fehlermeldung fuer ClassC.Test das die Methode nicht ueberschrieben werden darf. Bei ClassB.Test eingefuegt gibt es eine Fehlermeldung das die Methode nicht virtuell sei und daher kein final haben darf. Offensichtlich impliziert reintroduce nicht virtual. Schreibt man noch virtual dazu dann geht es wieder. Edit: final ist bestimmt nicht vor D8 implementiert. Das stammt vermutlich von den fuer .net noetigen Erweiterungen der Sprache. |
Re: Was bedeutet 'final'?
Zitat:
somit ist wohl auch das Problem von Cöster erklärt... :wink: |
Re: Was bedeutet 'final'?
@Robert:
Vielen Dank für das Beispiel und die Erläuterungen. Das Problem war, dass ich zwei Delphi-Versionen installiert hab (5 und 2006) und ich den Quelltext per Konsole compiliert hab. Der verwendete Compiler war der von Delphi 5. Das kann dann wohl nicht klappen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz