Rôles listes (tech)

De Wiki1000
Version du 24 août 2009 à 17:01 par Syfre (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Introduction

Un rôle liste est une association bidirectionnelle entre deux clases de multiplicité 0..1 dans un sens et 0..* dans l'autre.

role-liste.png

Utilisation

  • Accès

Les rôles listes ont une propriété Refs[index] permettant d'accéder aux objets contenus dans le rôle :

var idx:Integer;
begin
  for idx:=0 to inst.ClassBList.Count-1 do
   begin
     instB := inst.ClassBList.Refs[idx];
     ...
   end;
end;

ils disposent aussi d'une propriété par défaut en lecture seule :

var idx:Integer;
begin
  for idx:=0 to inst.ClassBList.Count-1 do
   begin
     instB := inst.ClassBList[idx];
     ...
   end;
end;
  • Affectation

Différentes manièrs d'ajouter un objet à un rôle liste :

begin
  instA.ClassBList.AdDRef(instA);
  instA.ClassBList.AddOID(instA.InstanceOID);
  ...
end;

L'affectation du rôle réciproque ajoute aussi l'objet dans le rôle :

begin
  // Ajoute l'objet instB dans le rôle instA.ClassBList
  instB.ClassARef := instA;
  ...
end;


Rôles (tech)Développement DSM

Outils personnels