In breve: La programmazione ad oggetti organizza il codice in oggetti che uniscono dati e comportamenti.
Cosa è un oggetto
Un programma ad oggetti descrive il mondo come un insieme di oggetti. Ogni oggetto ha caratteristiche e azioni che può compiere.
Pensa a una bicicletta. Ha un colore, un numero di marce, due ruote. Può frenare, accelerare, cambiare marcia.
Le caratteristiche si chiamano attributi. Le azioni si chiamano metodi. Insieme formano un oggetto.
Classi e oggetti
Una classe è uno schema generale. Descrive come è fatto un tipo di oggetto.
L'oggetto è un esempio concreto creato dalla classe. Si dice anche istanza.
La classe "Auto" descrive tutte le auto in generale. La tua auto rossa targata AB123CD è un oggetto della classe Auto.
Una classe definisce attributi e metodi una sola volta. Da essa puoi creare molti oggetti diversi.
Tre idee importanti
L'incapsulamento protegge i dati dentro l'oggetto. Solo i metodi dell'oggetto possono modificarli direttamente.
L'ereditarietà permette di creare nuove classi a partire da una classe esistente. Una classe "AutoElettrica" può ereditare da "Auto" e aggiungere la batteria.
Il polimorfismo permette a oggetti diversi di rispondere allo stesso comando in modo diverso. Il metodo "muovi" funziona sia per un cane sia per un pesce.
Esempi pratici
Immagina una classe Studente. Gli attributi sono nome, cognome, classe, media voti. I metodi sono studia(), faiCompito(), ricevoVoto().
Ogni studente reale della scuola diventa un oggetto della classe Studente. Mario e Giulia sono due oggetti diversi della stessa classe.
In un videogioco, ogni nemico è un oggetto. La classe Nemico descrive vita, forza e posizione. Ogni mostro sullo schermo è un'istanza con valori propri.
Parole difficili
- Oggetto: elemento di un programma che unisce dati e azioni.
- Classe: modello che descrive come sono fatti gli oggetti.
- Attributo: caratteristica o dato contenuto in un oggetto.
- Metodo: azione o funzione che un oggetto sa eseguire.
- Istanza: oggetto concreto creato a partire da una classe.
- Ereditarietà: meccanismo che fa derivare una classe da un'altra.
Riferimenti
- Norma: Riordino degli istituti tecnici
- Obiettivo formativo coperto: ob.tecnico-informatica-telecomunicazioni.informatica.cl3.programmazione-oggetti.01