Classi e oggetti
Una classe descrive dati e comportamenti che appartengono a un tipo di oggetto.
1. Il concetto, spiegato da zero
Una classe descrive dati e comportamenti che appartengono a un tipo di oggetto.
__init__ inizializza lo stato; self rappresenta l’istanza corrente. I metodi operano sui dati dell’oggetto. Parti da classi piccole con responsabilità precise.
2. Un esempio ragionato
Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.
class Contatore:
def __init__(self):
self.valore = 0
def aumenta(self):
self.valore += 1
c = Contatore()
c.aumenta()
print(c.valore)1
Come leggere questo esempio
- Prima di eseguire, prova a prevedere il risultato dell’esempio.
- Spiega con parole tue in che modo “classi e oggetti” risolve un problema concreto.
- Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
- Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Dimenticare self tra i parametri dei metodi di istanza provoca errori; non confondere variabili locali con attributi self.nome.
3. Adesso tocca a te
Obiettivo dell’esercizio: Definisci una classe Contatore e incrementane il valore.
Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.
Laboratorio: metti alla prova il codice
PYTHON · pythonIl laboratorio Python utilizza Pyodide/WebAssembly scaricato al primo utilizzo; la prima apertura richiede Internet e può impiegare più tempo.
Output / esito del controllo
Il risultato comparirà qui.
Mostra la soluzione di riferimento
class Contatore:
def __init__(self):
self.valore = 0
def aumenta(self):
self.valore += 1
c = Contatore()
c.aumenta()
print(c.valore)Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.
4. Verifica e ripasso
Quiz: hai capito il concetto?
Quale delle seguenti affermazioni è corretta per questo capitolo?
__init__ inizializza lo stato; self rappresenta l’istanza corrente. I metodi operano sui dati dell’oggetto. Parti da classi piccole con responsabilità precise.
5. Come proseguire
Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.