Een object in Java - en elke andere 'objectgeoriënteerde' taal - is de basisbouwsteen van alle Java-toepassingen en vertegenwoordigt elk real-world object dat u om u heen zou kunnen vinden: een appel, een kat, een auto of een mens.
De twee kenmerken die een object altijd heeft, zijn staat en gedrag. Overweeg een persoon object. De staat kan haarkleur, geslacht, lengte en gewicht omvatten, maar ook gevoelens van woede, frustratie of liefde. Het gedrag kan bestaan uit wandelen, slapen, koken, werken of iets anders dat een persoon zou kunnen doen.
Objecten vormen de kern van elke objectgerichte programmeertaal.
Honderden boeken zijn geschreven om de complexiteit van objectgeoriënteerd programmeren te beschrijven, maar in feite is OOP gebaseerd op een holistische benadering die de nadruk legt op hergebruik en overerving, wat de ontwikkelingstijd stroomlijnt. Meer traditionele procestalen, zoals Fortran, COBOL en C, kiezen voor een top-downbenadering, waarbij de taak of het probleem wordt onderverdeeld in een logische, geordende reeks functies.
Overweeg bijvoorbeeld een eenvoudige ATM-toepassing die door een bank wordt gebruikt. Voordat een code wordt geschreven, maakt een Java-ontwikkelaar eerst een stappenplan of plan over hoe verder te gaan, meestal beginnend met een lijst van alle objecten die moeten worden gemaakt en hoe ze zullen samenwerken. Ontwikkelaars kunnen een klassendiagram gebruiken om de relaties tussen objecten te verduidelijken. Voorwerpen die vereist zijn voor gebruik bij een ATM-transactie kunnen Geld, Kaart, Saldo, Ontvangst, Intrekking, Storting, enzovoort zijn. Deze objecten moeten samenwerken om de transactie te voltooien: een storting moet resulteren in een saldorapport en bijvoorbeeld een ontvangstbewijs. Objecten zullen berichten tussen hen doorgeven om dingen gedaan te krijgen.
Een object is een instantie van een klasse: hier is de kern van objectgeoriënteerd programmeren en het idee van hergebruik. Voordat een object kan bestaan, moet er een klasse zijn waarop het kan worden gebaseerd.
Misschien willen we een boekobject: om precies te zijn, willen we het boek The Hitchhiker's Guide to the Galaxy. We moeten eerst een klasboek maken. Deze klasse kan de basis vormen voor elk boek ter wereld.
Het ziet er ongeveer zo uit:
public class boek
String titel;
String auteur;
// methoden
public String getTitle (
terugkeer titel;
public void setTitle ()
terugkeer titel;
public int getAuthor ()
terugkeer auteur;
public int setAuthor ()
terugkeer auteur;
// enz.
Het klassenboek heeft een titel en een auteur met methoden waarmee u een van deze items kunt instellen of ophalen (het zou ook meer elementen hebben, maar dit voorbeeld is slechts een fragment). Maar dit is nog geen object - een Java-applicatie kan er nog niets mee doen. Het moet worden geïnstantieerd om een object te worden dat kan worden gebruikt.
De relatie tussen een object en een klasse is zodanig dat veel objecten met één klasse kunnen worden gemaakt. Elk object heeft zijn eigen gegevens, maar de onderliggende structuur (d.w.z. het type gegevens dat het opslaat en zijn gedrag) wordt bepaald door de klasse.
We kunnen verschillende objecten maken uit een boekenklasse. Elk object wordt een voorbeeld van de klas.
Book HitchHiker = new Book ("The HitchHiker's Guide to the Galaxy", "Douglas Adams");
Boek ShortHistory = nieuw boek ("Een korte geschiedenis van bijna alles", "Bill Bryson");
Book IceStation = nieuw boek ("Ice Station Zebra", "Alistair MacLean");