




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 trattati 1. L'Anatomia di un Oggetto Java 2. Variabili d'Istanza e Variabili di Classe 3. I Costruttori 4. I Metodi 5. Overloading dei Metodi
Tipologia: Schemi e mappe concettuali
1 / 8
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





Documento educativo — Corso Java da Zero
1. L'Anatomia di un Oggetto Java
Un oggetto in Java è composto da una serie di componenti fondamentali che ne definiscono la struttura e il comportamento. Questi componenti sono:
L'insieme di variabili d'istanza, costruttori e metodi d'istanza forma quella che viene definita l'anatomia di un Oggetto Java.
Componente Parola chiave / Caratteristica Scopo Variabile d'istanza private / public (campo) Memorizza lo stato dell'oggetto Variabile di classe static Valore condiviso tra tutti gli oggetti Costruttore Stesso nome della classe, no return Crea e inizializza l'oggetto Metodo d'istanza Legato all'oggetto (this) Definisce le azioni dell'oggetto Metodo di classe static Agisce sulla classe, non su un'istanza
nn Modificare una variabile static attraverso un'istanza aggiorna il valore per tutti gli oggetti della classe, non solo per quell'istanza.
public class Prodotto { // Variabili d'istanza (ogni oggetto ha il proprio valore) private String nome; private float prezzo; // Variabile di classe (condivisa da tutti gli oggetti) public static String nomeProduttore; }
3. I Costruttori
Il costruttore è un metodo speciale di una classe il cui scopo è creare una nuova istanza e inizializzarne lo stato, ovvero assegnare valori iniziali alle variabili d'istanza. Viene invocato automaticamente da Java quando si utilizza l'operatore new.
All'interno di un costruttore (o di un qualsiasi metodo d'istanza), la parola chiave this fa riferimento all'oggetto corrente. È particolarmente utile per distinguere le variabili d'istanza dai parametri del costruttore quando hanno lo stesso nome.
nn IMPORTANTE: la parola chiave this ha senso solo quando dalla classe viene generato un oggetto (non nei metodi statici).
public class Prodotto { private String nome; private float prezzo; public static String nomeProduttore; // Costruttore 1: nome e prezzo public Prodotto(String nome, float prezzo) { this.nome = nome; this.prezzo = prezzo; } // Costruttore 2: solo nome public Prodotto(String nome) { this.nome = nome; } // Costruttore 3: senza parametri (default) public Prodotto() { } }
Java determina quale costruttore invocare in base al numero e al tipo dei parametri passati con l'operatore new:
Prodotto p1 = new Prodotto("Pane", 2); // -> Costruttore 1 Prodotto p2 = new Prodotto("Latte"); // -> Costruttore 2 Prodotto p3 = new Prodotto(); // -> Costruttore 3
I metodi di classe sono definiti con la parola chiave static e agiscono sulla classe nel suo insieme, non su una specifica istanza. Possono essere invocati direttamente tramite il nome della classe, senza creare un oggetto:
public class Operazioni { public static int somma(int a, int b) { return a
5. Overloading dei Metodi
In Java ogni metodo è identificato dalla propria firma (o signature ), che comprende il nome del metodo e la lista dei tipi dei parametri. La firma deve essere unica all'interno di una classe.
L' overloading consiste nel definire più metodi con lo stesso nome ma con firme diverse, cioè con numero e/o tipi di parametri differenti. Sarà il compilatore a selezionare automaticamente il metodo corretto in base agli argomenti passati al momento della chiamata.
public void stampa(char x) { ... } // OK: tipo diverso public void stampa(int x) { ... } // OK: tipo diverso public void stampa(int x, int y) { ... } // OK: numero diverso
public int getNumero(int lato) { ... } public float getNumero(int lato) { ... } // ERRORE: stessa firma! I due metodi hanno la stessa firma (nome + lista tipi parametri = getNumero(int)), quindi non sono ammissibili. Per risolvere occorre usare un nome diverso, un numero di parametri diverso o tipi di parametri diversi.
Il concetto di overloading si applica anche ai costruttori: è proprio grazie all'overloading che una classe può avere più costruttori con parametri diversi, come visto nell'esempio della classe Prodotto nella sezione 3.
Riepilogo — L'insieme di variabili d'istanza, costruttori e metodi d'istanza forma l' anatomia di un Oggetto Java.