Un oggetto in Java - e qualsiasi altro linguaggio "orientato agli oggetti" - è l'elemento base di tutte le applicazioni Java e rappresenta qualsiasi oggetto del mondo reale che potresti trovare intorno a te: una mela, un gatto, un'auto o un essere umano.
Le due caratteristiche che un oggetto ha sempre sono stato e comportamento. Considera un oggetto persona. Il suo stato potrebbe includere il colore dei capelli, il sesso, l'altezza e il peso, ma anche sentimenti di rabbia, frustrazione o amore. Il suo comportamento potrebbe includere camminare, dormire, cucinare, lavorare o qualsiasi altra cosa che una persona possa fare.
Gli oggetti costituiscono il nucleo di qualsiasi linguaggio di programmazione orientato agli oggetti.
Centinaia di libri sono stati scritti per descrivere la complessità della programmazione orientata agli oggetti, ma sostanzialmente OOP si basa su un approccio olistico che enfatizza il riutilizzo e l'ereditarietà, che semplifica i tempi di sviluppo. Linguaggi procedurali più tradizionali, come Fortran, COBOL e C, adottano un approccio dall'alto verso il basso, suddividendo l'attività o il problema in una serie logica e ordinata di funzioni.
Ad esempio, considera una semplice applicazione ATM utilizzata da una banca. Prima di scrivere qualsiasi codice, uno sviluppatore Java prima creerà una roadmap o un piano su come procedere, solitamente iniziando con un elenco di tutti gli oggetti che devono essere creati e come interagiranno. Gli sviluppatori possono utilizzare un diagramma di classe per chiarire le relazioni tra gli oggetti. Gli oggetti necessari per l'uso in una transazione bancomat potrebbero essere denaro, carta, saldo, ricevuta, prelievo, deposito e così via. Questi oggetti devono lavorare insieme per completare la transazione: effettuare un deposito dovrebbe comportare un rapporto sul saldo e forse una ricevuta, ad esempio. Gli oggetti passeranno messaggi tra di loro per fare le cose.
Un oggetto è un'istanza di una classe: ecco il punto cruciale della programmazione orientata agli oggetti e l'idea del riutilizzo. Prima che un oggetto possa esistere, deve esistere una classe su cui può essere basato.
Forse vogliamo un oggetto libro: per essere precisi, vogliamo il libro La Guida di Hitchhiker alla Galassia. Per prima cosa dobbiamo creare un libro di classe. Questa classe potrebbe essere la base per qualsiasi libro del mondo.
Potrebbe assomigliare a questo:
Libro di classe pubblica
Titolo della stringa;
Autore di stringhe;
// metodi
public String getTitle (
titolo di ritorno;
public void setTitle ()
titolo di ritorno;
public int getAuthor ()
autore di ritorno;
public int setAuthor ()
autore di ritorno;
// eccetera.
Il libro di classe ha un titolo e un autore con metodi che ti consentono di impostare o ottenere uno di questi elementi (avrebbe anche più elementi, ma questo esempio è solo un estratto). Ma questo non è ancora un oggetto: un'applicazione Java non può ancora farci nulla. Deve essere istanziato per diventare un oggetto che può essere utilizzato.
La relazione tra un oggetto e una classe è tale che molti oggetti possono essere creati usando una classe. Ogni oggetto ha i suoi dati ma la sua struttura sottostante (cioè il tipo di dati che archivia e i suoi comportamenti) sono definiti dalla classe.
Possiamo creare diversi oggetti da una classe di libri. Ogni oggetto è chiamato un esempio della classe.
Book HitchHiker = nuovo libro ("The HitchHiker's Guide to the Galaxy", "Douglas Adams");
Book ShortHistory = nuovo libro ("Una breve storia di quasi tutto", "Bill Bryson");
Prenota IceStation = nuovo libro ("Ice Station Zebra", "Alistair MacLean");