Comment empêcher une fonction/procédure dans une superclasse d'être remplacée dans une sous-classe dans Delphi (2007)? Je veux le marquer pour qu'il ne puisse pas être modifié, je crois qu'il y a un mot-clé final mais je ne peux pas trouver la documentation pour cela, donc je ne suis pas sûr à 100% que c'est ce dont j'ai besoin.Arrêt d'une fonction d'une substitution dans Delphi
8
A
Répondre
16
Le mot-clé est final
comme vous le pensiez. Voir http://dn.codegear.com/article/34324 et http://blogs.teamb.com/rudyvelthuis/2005/05/13/4311. Vous pouvez également marquer votre classe comme scellée pour empêcher quiconque d'en hériter. Vous avez besoin d'une version Delphi supérieure à 7.
type
TSomeClass = class
protected
procedure SomeVirtualMethod; virtual;
end;
TOtherClass = class(TSomeClass)
protected
procedure SomeVirtualMethod; override; final;
end;
9
Vous avez raison - c'est "final". Cet extrait le montre. (De l'un des livres de Marco Cantu)
type
TDeriv1 = class (TBase)
procedure A; override; final;
end;
TDeriv2 = class (TDeriv1)
procedure A; override; // error: "cannot override a final method"
end;
Compiling donne:
[Pascal Error] Unit1.pas(11): E2352 Cannot override a final method
Une chose qui m'a surpris: Cette fonctionnalité est prise en charge dans Delphi Win32, pas seulement Delphi pour .NET
Questions connexes
- 1. Substitution de la fonction CreateObject dans VBScript
- 2. Arrêt d'une fonction jquery à plusieurs reprises
- 3. Delphi: Non VarIsBoolean() -fonction?
- 4. Arrêt AVAudioPlayer partout dans l'application
- 5. Unix - substitution
- 6. rails -: jointures assainissement/substitution
- 7. Arrêt de Python incorporé
- 8. Y at-il une fonction inverse de * SysUtils.Format * dans Delphi
- 9. Comparaison d'un pointeur sur la valeur d'une fonction dans Delphi
- 10. Comment utiliser la fonction WinAPI AccessibleObjectFromWindow dans Delphi?
- 11. Fonction de commentaire PDF pour delphi 2009
- 12. arrêt workflow sharepoint programatically
- 13. Arrêt inattendu du client
- 14. Arrêt UpdatePanel inactif quand
- 15. arrêt .Net écouter prise
- 16. Substitution de OnPaint
- 17. Inplace substitution de ConfigParser
- 18. Contrôle de substitution dans une application .net
- 19. Substitution de la gestion onMissingTemplate dans Application.cfc
- 20. Scoped/clés de substitution composites dans MySQL
- 21. Substitution de propriété étrange dans DataGridViewTextBoxCell
- 22. Arrêt en cours CAKeyframeAnimation
- 23. Arrêt du serveur JBoss
- 24. Arrêt d'un HttpWebRequest asynchrone
- 25. "Les bases de Delphi" dans Delphi 2009
- 26. Bash reg-exp de substitution
- 27. substitution Paramètres ne fonctionne pas
- 28. Substitution de AuthenticationProcessingFilter de Spring
- 29. Eclipse: arrêt du code (java)
- 30. Arrêt du programme d'installation entre