





Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
ARGOMENTI: - Cos'è un Oggetto - Cos'è una Classe - Come creare un Oggetto - Riepilogo dei concetti chiave
Tipologia: Schemi e mappe concettuali
1 / 9
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






Nella programmazione, i programmi gestiscono spesso insiemi di informazioni che sono tra loro correlate. Queste informazioni potrebbero essere raggruppate in un'unica entità: tali entità prendono il nome di Oggetti.
Si consideri il caso di un programma che debba memorizzare le informazioni di una lista di persone. Usando solo variabili primitive, per ogni persona dovremmo dichiararne una distinta per ciascuna caratteristica:
Caratteristica Tipo Java suggerito
Nome String
Cognome String
Età int
Altezza double
Peso double
Residenza String
Data di Nascita String
Domicilio String
Con 8 caratteristiche per persona e 10 persone, occorrerebbero 80 variabili separate , senza alcun collegamento logico tra loro. Il programmatore dovrebbe ricordare manualmente quale variabile appartiene a quale persona.
La programmazione a oggetti risolve questo problema permettendo di raggruppare tutte le informazioni correlate in un'unica entità chiamata Oggetto. Invece di 80 variabili sparse, avremo 10 oggetti ordinati, ciascuno contenente i propri dati:
PERSONA 1 PERSONA 2 PERSONA 3 Giuseppe / Rossi 32 anni / 180 cm
Maurizio / Verdi 42 anni / 170 cm Francesca / Sapori 24 anni / 175 cm
Gli oggetti non nascono dal nulla: vengono prodotti da strutture chiamate Classi. Le classi sono le fabbriche degli oggetti.
Una Classe è un'astrazione che rappresenta le proprietà comuni (struttura e comportamento) di un insieme di oggetti concreti. Dal punto di vista della programmazione, la classe funge da tipo di dato per gli oggetti che ne sono istanze.
Concetto Spiegazione
Classe Descrive la struttura (attributi) e il comportamento (metodi) comuni a un gruppo di oggetti. È il "modello" o "stampo".
Oggetto Una specifica realizzazione (istanza) della classe, con valori concreti per ogni attributo.
Istanza Termine tecnico per indicare un particolare oggetto appartenente a una classe. Si dice che l'oggetto è un'istanza della classe.
Tipo di dato Quando si dichiara una variabile di tipo oggetto, il tipo è il nome della classe stessa (es. Persona p1).
La classe Persona definisce attributi e metodi in modo astratto. Ogni oggetto (istanza) creato a partire da essa contiene valori concreti per quegli stessi attributi e può invocare gli stessi metodi:
CLASSE Persona Attributi: nome, cognome, eta, altezza peso, residenza, statoCivile, domicilio Metodi: stampaPersona() aggiornaEta(data)
OGGETTO — istanza 1 (attributi con valori concreti) stampaPersona() aggiornaEta(data)
OGGETTO — istanza 2 (attributi con valori concreti) stampaPersona() aggiornaEta(data)
OGGETTO — istanza 3 (attributi con valori concreti) stampaPersona() aggiornaEta(data)
La freccia dalla classe verso ciascun oggetto rappresenta il legame di istanziazione: la classe è il modello, l'oggetto è la sua realizzazione concreta.
Per creare un oggetto a partire da una classe è necessario utilizzare l'operatore new. Il processo che crea un nuovo oggetto si chiama costruzione.
// Dichiarazione della variabile e costruzione dell'oggetto Persona p1 = new Persona(); // Equivalente in due passi separati: Persona p1; // 1. dichiarazione (p1 punta a null) p1 = new Persona(); // 2. costruzione (p1 punta all'oggetto)
Elemento Significato
Persona (prima occorrenza)
Tipo della variabile: indica che p1 conterrà un riferimento a un oggetto di tipo Persona.
p1 Nome della variabile (riferimento all'oggetto).
new Operatore che costruisce l'oggetto in memoria.
Persona() Chiamata al costruttore della classe (può accettare parametri).
IMPORTANTE: quando si dichiara una variabile con tipo-classe, la variabile non contiene l'oggetto, ma un riferimento (indirizzo) all'oggetto in memoria. Due variabili possono riferirsi allo stesso oggetto.
Se si assegna una variabile oggetto a un'altra variabile dello stesso tipo, non si copia l'oggetto : entrambe le variabili punteranno allo stesso oggetto in memoria. Le modifiche effettuate tramite una variabile saranno visibili anche attraverso l'altra:
Persona p1 = new Persona(...); // p1 → oggetto A Persona p2 = new Persona(...); // p2 → oggetto B p2 = p1; // p2 ora punta allo stesso oggetto di p1 (oggetto A) // l'oggetto B non è più raggiungibile tramite p
// Passo 1 – dichiarazione
Persona p1;
Persona p2;
// Passo 2 – costruzione
p1 = new Persona();
p2 = new Persona();
// Passo 3 – utilizzo
p1.nome = "Mario";
p1.cognome = "Bianchi";
p1.stampaPersona(); // stampa i dati di p
// Assegnazione di riferimento (NON è una copia!)
p2 = p1;
p2.nome = "Luigi"; // modifica anche p1.nome!
p1.stampaPersona(); // stampa: Luigi Bianchi
Termine Definizione
Oggetto Entità che raggruppa informazioni correlate (attributi) e comportamenti (metodi). Viene creato a partire da una classe con l'operatore new.
Attributo Variabile interna all'oggetto che ne descrive le proprietà (es. nome, età, peso).
Metodo Funzione interna all'oggetto che ne definisce il comportamento (es. stampaPersona(), aggiornaEta(data)).
Classe Modello (o stampo) che definisce struttura e comportamento comuni a un insieme di oggetti. Funge da tipo di dato per le variabili oggetto.
Istanza Un oggetto concreto creato a partire da una classe. Si dice che l'oggetto è un'istanza della classe.
Operatore new Costrutto Java che crea (costruisce) un nuovo oggetto in memoria e restituisce un riferimento ad esso.
Riferimento Il valore contenuto in una variabile oggetto: non è l'oggetto stesso, ma l'indirizzo in memoria in cui l'oggetto si trova.
null Valore speciale che indica l'assenza di un riferimento valido. Accedere a un oggetto null provoca NullPointerException a runtime.
Costruzione Il processo che crea un nuovo oggetto tramite l'operatore new e il costruttore della classe.
NullPointerExceptio n
Errore a runtime generato quando si tenta di invocare metodi o accedere ad attributi di una variabile che vale null.
Devo creare un nuovo oggetto? Usa new NomeClasse() e assegnalo a una variabile del tipo corretto.
Devo accedere agli attributi o ai metodi? Usa la notazione punto: variabile.attributo o variabile.metodo().
Ho bisogno dei dati dopo la costruzione? La variabile deve essere dichiarata nello scope giusto (prima del blocco in cui se
Devo copiare un oggetto? Assegnare p2 = p1 non copia l'oggetto: crea un secondo riferimento allo