AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Was bedeutet 'final'?

Ein Thema von Cöster · begonnen am 5. Nov 2006 · letzter Beitrag vom 23. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#11

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:21
Zeig doch erst mal, was bei Dir nicht geht
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
lowpass

Registriert seit: 19. Feb 2007
9 Beiträge
 
#12

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:31
Zitat von Phoenix:
Zeig doch erst mal, was bei Dir nicht geht
Folgende Ausgangslage:
Delphi-Quellcode:
TOberklasse = class
    function getIt: String;virtual;
end;

TUnterklasse = class(TOberklasse)
    function getIt: String;override;
end;
Und wo kommt jetzt das "final" hin?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#13

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:44
Zitat von lowpass:
Und wo kommt jetzt das "final" hin?
Dahin:
Delphi-Quellcode:
TUnterklasse = class(TOberklasse)
   function getIt: String; override; final;
end;
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#14

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:48
Zitat von lowpass:
Und wo kommt jetzt das "final" hin?
ich kriegs auch nicht hin
und arbeite mit Delphi 7 Architect Build 4.453 in der Hilfe gibts nix über final???
ab welcher version gibt´s das
Jörg
have FUN
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#15

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:52
Gerade mit meinem Turbo Delphi getestet:
Delphi-Quellcode:
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;
Das gibt keine Fehlermeldung.
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.
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#16

Re: Was bedeutet 'final'?

  Alt 22. Feb 2007, 15:59
Zitat von Robert Marquardt:
final ist bestimmt nicht vor D8 implementiert. Das stammt vermutlich von den fuer .net noetigen Erweiterungen der Sprache.
OK das erklärt einiges...
somit ist wohl auch das Problem von Cöster erklärt...
Jörg
have FUN
  Mit Zitat antworten Zitat
lowpass

Registriert seit: 19. Feb 2007
9 Beiträge
 
#17

Re: Was bedeutet 'final'?

  Alt 23. Feb 2007, 09:15
@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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz