# ATELIER PROFESSIONNEL DELPHI [OCT-NOV 2003] --- SUPPORT DE COURS # # JOUR 3 : UNITES, CLASSES, HERITAGES, POLYMORPHISME # - Structure d'une unité (les crochets indiquent du facultatif) : unit NomDeLUnite; interface [ clause "uses" nécessaire à l'interface ] [ déclarations publiques (juste les entêtes pour les routines) ] implementation [ clause "uses" nécessaire à l'implémentation ] [ déclarations privées et implémentations des déclarations publiques ] [ initialization instructions... ] [ finalization instructions... ] end. - Implémenter une méthode d'une classe : // Dans l'"implementation" de l'unité : procedure TMyClass.MyMethod(...); ^^^^^^^^^^^^^^^^^ begin ... end; - Déclarer une méthode abstraite : procedure MyMethod(...); virtual; abstract; ^^^^^^^^^ - Appeler la version héritée : procedure THuman.Create(IsMarried: Booolean); begin inherited Create; ^^^^^^^^^ FIsMarried := IsMarried; end; - Utiliser l'équivalent de "this" : procedure TMyThread.Create; begin inherited; // Si la signature n'a pas changé, inutile de la préciser ThreadManager.RegisterThread(Self); // Et hop ! ^^^^ end; - Méthode statique ("procedure" ou "function") : TMyClass = class public class procedure SomeStaticMethod(...); ^^^^^^^^^^^^^^^ end; - Champ statique : pas possible :-( -- Fin de support --