0Pricing
Dart Academy · Lezione

Classi e metodi generici

Parametrizzare i propri tipi.

Classi e metodi generici è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.

I vostri generics

I tipi incorporati come List sono generici, e potete crearne di vostri. Un parametro di tipo permette alla vostra classe di adattarsi a qualsiasi tipo scelto dal chiamante. 🧩

Dare un nome al parametro di tipo

Inserite un parametro di tipo tra parentesi angolari dopo il nome della classe. La lettera T è un segnaposto comune che rappresenta un tipo reale.

class Box<T> {
  T value;
  Box(this.value);
}

Usare T all'interno

All'interno della classe, T si comporta come qualsiasi nome di tipo. Potete usarlo per campi, parametri e valori restituiti in tutto il corpo della classe.

class Box<T> {
  T value;
  Box(this.value);
  T get() => value;
}

Specificare il tipo

Quando create l'oggetto, scegliete il tipo reale. Qui T diventa int, quindi questo contenitore conterrà esclusivamente numeri interi.

var b = Box<int>(42);
int n = b.get();

Lasciate che Dart lo deduca

Spesso potete omettere il tipo esplicito perché Dart lo ricava dall'argomento. L'inferenza rileva una String e imposta T automaticamente.

var b = Box('hi');

Più parametri di tipo

Una classe può accettare più di un parametro di tipo, separandoli con virgole. Una coppia che contiene due tipi diversi è un esempio classico.

class Pair<A, B> {
  A first;
  B second;
  Pair(this.first, this.second);
}

Metodi generici

Potete rendere generico anche un singolo metodo, persino all'interno di una classe non generica. Inserite il parametro di tipo subito prima dell'elenco dei parametri.

T firstOf<T>(List<T> items) => items[0];

Anche i metodi deducono il tipo

Un metodo generico di solito deduce il proprio tipo dagli argomenti passati. Chiamatelo normalmente e Dart determinerà il resto.

var n = firstOf([1, 2, 3]);
var s = firstOf(['a', 'b']);

Ritorna la sicurezza dei tipi

Poiché il metodo tiene traccia di T, il risultato mantiene il tipo corretto. firstOf applicato a una lista di String restituisce una String, senza bisogno di cast.

String x = firstOf(['a', 'b']);

Riutilizzabile, non ripetitivo

Una definizione generica sostituisce molte versioni ottenute copiando e incollando. Scrivete la logica una sola volta e sarà valida per int, String e qualsiasi tipo personalizzato.

Scegliete nomi chiari

Le singole lettere come T, E o K sono convenzionali, ma un nome descrittivo può essere utile. Nel codice complesso la chiarezza conta più della brevità.

Controllo rapido

Dove si inserisce un parametro di tipo in una classe?

Riepilogo

Avete imparato ad aggiungere un parametro di tipo, come T, alle vostre classi e ai vostri metodi. Dart lo valorizza automaticamente, spesso tramite inferenza, mantenendo il codice riutilizzabile e sicuro. ✅

Domande Frequenti

La lezione «Classi e metodi generici» è gratuita?

Sì — il testo completo di «Classi e metodi generici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.

Cosa imparerò in «Classi e metodi generici»?

Parametrizzare i propri tipi. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Dart Academy?

Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Classi e metodi generici»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Dart Academy?

Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché i generics sono migliori di dynamic
  2. Classi e metodi generici
  3. Parametri di tipo vincolati con extends
  4. Collezioni generiche nella pratica
← Torna a Dart Academy