Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Metodi
Attributi privati
Nella sezione sugli attributi ogni
attributo era dichiarato con $., che crea un accessore
pubblico. Un attributo dichiarato con $!, invece, è
privato: non ha accessore e non si vede dall’esterno
dell’oggetto. È raggiungibile solo dai metodi della classe stessa, dove
ci si riferisce a esso come $!name.
class Safe {
has $!code = 4321;
method unlocks($attempt) {
return $attempt == $!code;
}
}
my $safe = Safe.new;
say $safe.unlocks(4321); # True
say $safe.unlocks(1111); # FalseIl segreto $!code è conservato dentro l’oggetto ma non
viene mai esposto: non c’è alcun accessore .code, quindi
l’unico modo per interagirvi è il metodo unlocks che la
classe sceglie di fornire. Un tentativo di leggere
$safe.code o $safe!code semplicemente
fallisce.
Gli attributi privati sono utili per i dettagli interni che il resto del programma non dovrebbe toccare direttamente.
Navigazione del corso
← Metodi | Metodi con parametri →
💪 Oppure vai direttamente agli esercizi di questa
sezione.