POA
Le mécanisme d'introduction
L'objectif du mécanisme d'introduction est d'être capable d'étendre le comportement d'un classe à l'aide de méthodes ou d'attributs définis dans un aspect.
Si nous prenons en exemple notre logueur et l'objet Point, sur lequel nous souhaitons ajouter la méthode move(), nous pouvons utiliser la POA pour le faire sans mofier notre programme.
L'interface Movable
Cette interface permet de définir la méthode move() pour rendre un objet mobile.

L'aspect MovablePoint
C'est cet aspect qui aurra la responsabilitée de modifier notre objet Point précédemment créé. Nous forçons l'inplémentation de l'objet point à l'interface movable avec le mot clef declare parents. Ensuite, nous implémentons simplement la méthode move() comme si nous étions dans l'objet Point. Nous avons donc accès aux attributs et méthodes de la classe Point.

La classe Main
La main créé donc un objet Point. La méthode move() est maintenant disponible sur notre objet, alors que nous ne l'avons pas modifier.

Le résultat
Le résultat du Main nous montre la sortie du loggeur. Ceci nous permet de bien identifier les appels de méthodes. Le résultat nous confirme bien que notre aspect MovablePoint a été tisser sur l'objet Point, et qu'il a la charge de répondre aux appels de move() de la classe Point.
