Rôles listes (tech)
De Wiki1000
Version du 24 août 2009 à 17:01 par Syfre (discuter | contributions)
Introduction
Un rôle liste est une association bidirectionnelle entre deux clases de multiplicité 0..1 dans un sens et 0..* dans l'autre.
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;