@startuml /' COMPOSITE '/ interface Component { - m_name # operation() # add(in c : Composite)() # remove(in c : Composite) # getChild(in i : int) # enumerate() } class Leaf { - privage_id + operation() + enumerate() } class Composite { - private_children vector + operation() + add(in c : Composite)() + remove(in c : Composite) + getChild(in i : int) + enumerate() } Component <|-- Leaf Component <|-- Composite Component --* Composite note as N1 Composite Type: Structural Assemblage d'objets dans une structure arborescente, l'idée est de banaliser l'accès - unitaire ou de groupe d'objet. end note @enduml