AspectJ: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+Portale |
m →Aspetti: Spostato il primo pezzo di codice in un "Blocco di codice", eliminato i numeri di riga inseriti a mano, corretto la sua formattazione e aggiunto i numeri di riga automatici |
||
Riga 198:
Un esempio è il seguente:
<syntaxhighlight lang="java" line="1">
final byte[] acapo = { 0x0a
3. File ris ;▼
};
5. public Prestaz() { try { ris = new File("RisulTato.txt") ;▼
try {
8. fl = new RandomAccessFile(ris,"rw") ;▼
ris.delete();
ris.createNewFile();
} start1 = System.currentTimeMillis() stop1 = System.currentTimeMillis() fl.write(nome.getBytes()) } start2 = System.currentTimeMillis() stop2 = System.currentTimeMillis() fl.write(nome.getBytes()) } }
</syntaxhighlight>
alla riga 2 c'è la dichiarazione dell'aspetto. Gli aspetti possono essere privati o pubblici, esattamente come le classi, ma possono anche essere privilegiati ('privileged') oppure no: un normale aspetto rispetta il principio dell'information hiding, mentre uno privilegiato no. In parole povere, solo gli aspetti dichiarati come 'privileged' hanno la visibilità degli attributi e dei metodi privati di una classe, e di conseguenza solo gli aspetti privilegiati possono contenere al loro interno dei pointcut che nella loro definizione facciano riferimento a join point corrispondenti, per esempio, al get o al set di un attributo privato dell'oggetto o all'esecuzione di un metodo privato. L'aspetto in esame alla riga 2 viene dichiarato come un aspetto pubblico privilegiato.
Riga 293 ⟶ 307:
avrà l'effetto opposto.
===''Inter-Type declarations''===
|