Zpo-12-wyk-Slajd12
Aspekt
Aspekt jest szczególnie wyróżnioną jednostką programu w języku AspectJ, ponieważ występuje w nim jako niezależny moduł, podobny do klasy. W rzeczywistości można traktować jako specjalizowaną klasę, która może przecinać inne klasy, modyfikując ich strukturę i zachowanie. Aspekt w języku AspectJ jest dodatkową, obok klasy jednostką modularyzacji
Deklaracja aspektu, poza typowymi elementami klasy, jak pola i metody (choć nie może on np. zawierać klas wewnętrznych), definiuje punkty cięcia – czyli punkty, w których oryginalny kod programu przecina się z aspektem, oraz porady , będące fragmentami kodu jaki jest umieszczany i wykonywany w odpowiednim punkcie cięcia.
W postaci źródłowej aspekty są zapisywane w plikach z rozszerzeniem .aj, a po skompilowaniu przyjmują postać bajtkodu i są przechowywane w plikach z rozszerzeniem .class. Przez maszynę wirtualną Javy są traktowane jako zwyczajne klasy.