Rôles listes (tech)
De Wiki1000
(Différences entre les versions)
(Nouvelle page : ===Introduction=== Un rôle liste est une association bidirectionnelle entre deux clases de multiplicité 0..1 dans un sens et 0..* dans l'autre. {{#images:role-liste.png|dsm/roles}...) |
|||
Ligne 7 : | Ligne 7 : | ||
*Accès | *Accès | ||
− | Les rôles listes ont une propriété Refs[index] permettant d'accéder aux objets contenus dans le rôle : | + | Les rôles listes ont une propriété [[Refs (role)|Refs[index]]] permettant d'accéder aux objets contenus dans le rôle : |
<source lang='delphi'> | <source lang='delphi'> | ||
var idx:Integer; | var idx:Integer; | ||
begin | begin | ||
− | for idx:=0 to | + | for idx:=0 to instA.ClassBList.Count-1 do |
begin | begin | ||
− | instB := | + | instB := instA.ClassBList.Refs[idx]; |
... | ... | ||
end; | end; | ||
Ligne 25 : | Ligne 25 : | ||
var idx:Integer; | var idx:Integer; | ||
begin | begin | ||
− | for idx:=0 to | + | for idx:=0 to instA.ClassBList.Count-1 do |
begin | begin | ||
− | instB := | + | instB := instA.ClassBList[idx]; |
... | ... | ||
end; | end; | ||
Ligne 33 : | Ligne 33 : | ||
</source> | </source> | ||
− | * | + | *Ajout d'objets dans la liste : |
Différentes manièrs d'ajouter un objet à un rôle liste : | Différentes manièrs d'ajouter un objet à un rôle liste : | ||
<source lang='delphi'> | <source lang='delphi'> | ||
begin | begin | ||
− | instA.ClassBList.AdDRef( | + | instA.ClassBList.AdDRef(instB); |
− | instA.ClassBList.AddOID( | + | instA.ClassBList.AddOID(instB.InstanceOID); |
... | ... | ||
end; | end; |
Version actuelle en date du 24 août 2009 à 18:10
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 instA.ClassBList.Count-1 do begin instB := instA.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 instA.ClassBList.Count-1 do begin instB := instA.ClassBList[idx]; ... end; end;
- Ajout d'objets dans la liste :
Différentes manièrs d'ajouter un objet à un rôle liste :
begin instA.ClassBList.AdDRef(instB); instA.ClassBList.AddOID(instB.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;
Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |