Vidéo: Programmation Orientée Objet - Cours 3 - Héritage 2025
Les techniques orientées objet (OO) reposent sur le principe que des responsabilités et des préoccupations similaires peuvent être regroupées et encapsulées de manière cohérente dans une entité - telle qu'une classe. Cependant, certaines responsabilités ne peuvent pas être encapsulées en utilisant les techniques standard disponibles dans les langages OO. Ces responsabilités sont appelées préoccupations transversales parce qu'elles «traversent» plusieurs parties d'un programme. La journalisation est une préoccupation transversale, car vous devez implémenter la journalisation dans toutes les parties du système. Toutefois, la seule façon de s'assurer que chaque composant du système se connecte, et de manière standard, est d'insérer manuellement le code, le cas échéant.
Les outils de programmation orientée aspect (AOP) vous permettent de spécifier à un endroit dans votre programme comment vous envisagez de traiter un problème transversal. Les outils génèrent ensuite l'implémentation et l'insèrent dans tous les endroits nécessaires dans votre code.
L'exemple suivant montre l'utilisation de l'AOP dans l'implémentation d'une pile.
aspect AddLogging {- push (ItemType * item) {AddLogging. info (@ "Pushing item", article)} - (ItemType *) pop {AddLogging. Info (@ "item Popping", returnItem);} // Autre code de découpage.}
