Durata
La durata di una risorsa indica l’intervallo di tempo dal momento in cui è possibile al momento in cui non è possibile utilizzarla
- una risorsa a livello di classe, globale, dura fino al termine del programma (della classe…)
- una risorsa a livello di metodo, locale, dura fino al termine del metodo
- una risorsa a livello di blocco dura finché il controllo non ritorna al livello gerarchicamente superiore
- un oggetto dura dal momento in cui viene creato fino al momento in cui si perde il riferimento a esso…
Visibilità
Una risorsa è visibile in un punto del programma se da lì si può fare riferimento a essa (utilizzarla…).
Regola sequenziale
- a livello di metodo una risorsa è visibile solo dopo la sua dichiarazione
- mentre a livello di classe una risorsa è visibile da tutti i metodi, è globale
Regola gerarchica
- una risorsa è visibile solo all’interno del metodo nel quale è dichiarata, è locale al metodo
- una risorsa è visibile solo all’interno del blocco nel quale è dichiarata, è locale al blocco
Sovrapposizione
- una risorsa a livello di metodo si sovrappone a una risorsa a livello di classe con lo stesso nome
- una risorsa a livello di blocco non può sovrapporsi a una risorsa a livello di metodo
- due risorse possono avere lo stesso nome se locali a due metodi diversi, o a due blocchi dello stesso metodo ma non gerarchicamente dipendenti