Opérations de classe (code)

De Wiki1000
Version du 26 juillet 2009 à 15:14 par Syfre (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Une opération de classe est une opération qui est supportée par le type de la classe métier; a contrario une opération d'objet est supportée par l'instance d'une classe.

Une opération de classe doit être invoquée sur la classe métier.

Exemple :

class function FacadeComptable.FindExercice(ADate:TDatetime):TExercice;
begin
  // Méthode de classe retrouvant l'exercice comptable contenant une date.
  // 
  Result := TExercice.Find('(dateDebut<=%1) and (dateFin>%1)','oid',True,[ADate,ADate]);
end;
 
procedure MyClass.foo(ADate:TDatetime);
var exercice:TExercice;
begin
  // Appel de la méthode de classe pour retrouver l'exercice.
  exercice := FacadeComptable.FindExercice(ADate);
  if Assigned(exercice) then
    begin
      ...
    end;
end;
Info-20px.png Note : Une opération de classe ne peut pas faire référence aux attributs de la classe car ceux-ci ne sont pas définis au niveau de la classe.


Il existe deux types d'opérations de classe :

  • Les opérations de classe génériques définies par le framework.
  • Les opérations de classe définies par le modèle de la classe.

Pour définir une opération comme opération de classe cochez la case correspondante dans le dialogue de propriété d'une opération:

image1.png

Code métierDéveloppement DSM

Outils personnels