Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Attributi

Valori predefiniti

A un attributo si può dare un valore predefinito, usato quando un oggetto viene creato senza un valore per quell’attributo. Scrivi il valore predefinito dopo l’attributo, con =:

class Dog {
    has Str $.name;
    has Rat $.weight = 4.0;
}

Nota che, come per le variabili, è possibile imporre il tipo degli attributi.

Se non passi weight a new, l’attributo prende il valore predefinito:

my $rex = Dog.new(name => 'Rex');
say $rex.weight; # 4

Puoi comunque scavalcare il valore predefinito passando un valore:

my $lighty = Dog.new(name => 'Lighty', weight => 3.2);
say $lighty.weight; # 3.2

Senza valore predefinito e senza un valore passato a new, un attributo è semplicemente non definito, esattamente come una variabile scalare appena dichiarata.

Pratica

Risolvi 1 quiz sul contenuto di questo argomento.

Attributi in lettura e scrittura   |   Quiz — Attributi


💪 Oppure vai direttamente agli esercizi di questa sezione.