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

Classi

Finora i tipi di dati che hai usato — numeri, stringhe, array e così via — erano tutti incorporati in Raku. La programmazione a oggetti ti permette di definire tipi tuoi, chiamati classi, e di creare valori di quei tipi, chiamati oggetti.

Una classe si definisce con la parola chiave class, seguita da un nome e da un blocco:

class Dog {
}

Questa classe Dog per ora è vuota, ma è già un tipo nuovo. Per creare un oggetto della classe — un’istanza — chiama il metodo new sul nome della classe:

class Dog {
}

my $rex = Dog.new;
say $rex; # Dog.new

Ora la variabile $rex contiene un oggetto Dog. Ogni chiamata a new crea un oggetto separato:

my $rex = Dog.new;
my $fido = Dog.new;

$rex e $fido sono due cani distinti, anche se la classe non ha ancora alcun contenuto. Nelle sezioni che seguono darai a una classe dati propri (gli attributi) e comportamenti propri (i metodi). Il primo argomento guarda più da vicino la differenza fra una classe e le sue istanze.

Anche in questa sezione

Pratica

Risolvi 1 quiz sul contenuto di questa sezione.

Esercizi

Questa sezione contiene 2 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.

  1. Definito o no
  2. Indicate il tipo

Classi e oggetti   |   Oggetti di tipo e istanze