Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Qualificatori di visibilità

Rendere più o meno accessibili le variabili di una classe
Rendere più o meno accessibili le variabili di una classe
Link copiato negli appunti

Per realizzare al meglio l'incapsulamento, nei linguaggi orientati agli oggetti, sono stati introdotti i cosiddetti "qualificatori", che determinano la visibilità delle variabili che definiamo all'interno delle nostre classi. I livelli di visibilità in Objective C sono 3:

Qualificatore Visibilità
public La variabile è visibile da qualunque oggetto
private Possiamo utilizzare la variabile solo all'interno dei metodi della stessa classe
protected Possono accedere alla variabile solo i metodi della stessa classe e quelli delle classi da essa derivate

Le variabili di istanza per default sono protected, quindi accessibili dalle sottoclassi. Esaminiamo la sintassi necessaria a dichiarare la visibilità nel file di interfaccia:

@interface Classe:NSObject
{
	int	variabileProtetta; // protected per default
	@private
	int variabilePrivata;
	@public
	int variabilePubblica;
	@protected
	int variabileProtetta;
}
@end

Per indicare la visibilità è sufficiente decorare la dichiarazione della variabile con la relativa keyword, preceduta da un carattere chiocciola (@).

Visibilità dei metodi

Il discorso cambia per quanto riguarda i metodi. In Objective C non possiamo applicare modificatori di visibilità ai metodi: tutti i metodi di istanza sono pubblici, almeno finché vengono dichiarati sul file di interfaccia.

Per simulare un metodo privato è possibile dichiararlo solamente nel file di implementazione e non in quello di interfaccia, in questo modo non è possibile invocare dall'esterno il metodo, in quanto esso non è esposto in nessun modo, almeno in modo formale. Tuttavia, se invocato dall'esterno, il metodo "nascosto" viene comunque eseguito.

Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche