Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti
Attributi
Una classe vuota non è molto utile. Per permettere a un oggetto di
portare con sé dati propri, si danno alla classe degli
attributi. Un attributo si dichiara dentro la classe con la
parola chiave has:
class Dog {
has $.name;
has $.age;
}Ogni oggetto della classe riceve la propria copia di questi
attributi. I loro valori si impostano quando crei l’oggetto, passandoli
a new come argomenti nominati:
class Dog {
has $.name;
has $.age;
}
my $rex = Dog.new(name => 'Rex', age => 3);Il $. in has $.name fa due cose insieme:
dichiara un attributo e crea un metodo con lo stesso nome — un
accessore — che restituisce il valore dell’attributo:
say $rex.name; # Rex
say $rex.age; # 3Oggetti diversi contengono valori propri, indipendenti l’uno dall’altro:
my $rex = Dog.new(name => 'Rex', age => 3);
my $fido = Dog.new(name => 'Fido', age => 5);
say $rex.name; # Rex
say $fido.name; # FidoGli argomenti che seguono mostrano come rendere modificabili gli attributi e come dare loro dei valori predefiniti. (C’è anche un modo per dichiarare attributi privati, nascosti all’esterno; ci torneremo una volta introdotti i metodi.)
Argomenti di questa sezione
Pratica
Risolvi 1 quiz sul contenuto di questa sezione.
Esercizi
Questa sezione contiene 4 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.
Navigazione del corso
← Soluzione: Indicate il tipo | Attributi in lettura e scrittura →