0Pricing
Dart Academy · Lezione

Enum avanzati con campi e metodi

Associare dati e comportamenti a ogni valore.

Enum avanzati con campi e metodi è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 3 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.

Gli enum possono contenere dati

Le versioni moderne di Dart consentono a ogni membro di un enum di contenere dati propri. Questi sono gli enum avanzati, che trasformano semplici etichette in valori ricchi.

Aggiungere un campo

Si dichiara un campo final nell'enum e poi si passa un valore per ogni membro. Ogni membro contiene così questi dati aggiuntivi.

enum Planet {
  earth(9.8), mars(3.7);
  final double gravity;
}

È necessario un costruttore const

Gli enum avanzati richiedono un costruttore const per inizializzare i propri campi. Viene eseguito una volta per ogni membro durante la creazione dei valori.

const Planet(this.gravity);

I membri passano argomenti al costruttore

I valori tra parentesi sono argomenti del costruttore. earth(9.8) significa che earth viene creato con la gravità impostata a 9.8.

earth(9.8), mars(3.7);

Leggere il campo di un membro

Si accede ai dati tramite il membro, proprio come a qualsiasi proprietà. Ogni membro restituisce il valore che ha memorizzato.

print(Planet.earth.gravity); // 9.8

Più campi

Un enum avanzato può contenere contemporaneamente diversi campi. È sufficiente elencarli nel costruttore e fornire ogni valore per ciascun membro.

enum Coin { penny(1, "1c"), dime(10, "10c"); }

Aggiungere un metodo

Gli enum avanzati possono definire anche metodi. Il metodo può usare i campi del membro, fornendo a ogni valore un comportamento reale.

double weightOf(double mass) => mass * gravity;

Chiamare un metodo di un enum

Si chiama il metodo su qualsiasi membro come su un normale oggetto. Viene eseguito usando i valori dei campi propri di quel membro.

print(Planet.mars.weightOf(70)); // 259.0

Aggiungere un getter

È possibile usare anche un getter calcolato, che restituisce un valore derivato dai campi senza memorizzare nuovi dati.

bool get isStrong => gravity > 5;

Restano comunque enum

Nonostante le funzionalità aggiuntive, gli enum avanzati mantengono values, index e name. Aggiungendo campi e metodi non si perde nulla.

print(Planet.values.length); // 2

Quando usare un enum avanzato

Si usi un enum avanzato quando ogni scelta possiede dati correlati, come un colore con un codice esadecimale. In questo modo dati e scelta restano insieme.

Verifica rapida

Che cosa deve includere sempre un enum avanzato con campi?

Riepilogo: enum avanzati

Ha imparato che gli enum avanzati contengono campi e metodi tramite un costruttore const, così ogni membro conserva i propri dati e comportamenti. 🚀

Domande Frequenti

La lezione «Enum avanzati con campi e metodi» è gratuita?

Sì — il testo completo di «Enum avanzati con campi e metodi» è 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 «Enum avanzati con campi e metodi»?

Associare dati e comportamenti a ogni valore. 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 3 di 4.

Quanto tempo richiede la lezione «Enum avanzati con campi e metodi»?

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. Dichiarare e usare enum semplici
  2. Valori, index e name degli enum
  3. Enum avanzati con campi e metodi
  4. Usare switch sugli enum in modo esaustivo
← Torna a Dart Academy