Opérations de classe (code)

De Wiki1000

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 : <source lang='delphi'> 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; </source>

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:

{{#images:image1.png|dsm/modele/operation}}

{{#if:Code métier|

{{#if:Code métier|— Code métier |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}