Object versus instantie
Object Oriented Programming (OOP) is een van de meest populaire programmeerparadigma's. In OOP ligt de focus op het nadenken over het op te lossen probleem in termen van elementen uit de echte wereld en het weergeven van het probleem in termen van objecten en hun gedrag. Veel programmeertalen die de belangrijkste aspecten van OOP ondersteunen (OOP-talen genoemd) hebben de klasse als het belangrijkste programmeertool. Ze worden class-based genoemd. Klassen zijn een abstracte weergave van objecten uit de echte wereld. Klassen hebben eigenschappen die attributen worden genoemd. Attributen worden geïmplementeerd als globale en instantievariabelen. Methoden in de klassen vertegenwoordigen of definiëren het gedrag van deze klassen. Methoden en attributen van klassen worden de leden van de klas genoemd. In zeer eenvoudige bewoordingen is een klasse een blauwdruk of een sjabloon voor een specifiek object uit het echte leven. Zo,een object is de geheugenblok (ken) die worden gebruikt om de benodigde informatie op te slaan volgens deze blauwdruk. Instance is een geheugenblok dat naar een object verwijst.
Wat is een object?
Objecten zijn het resultaat van het instantiëren van een klasse. Instantiatie is het proces van het nemen van de blauwdruk en het definiëren van elk attribuut en gedrag, zodat het resulterende object in feite een echt object vertegenwoordigt. Object is een toegewijd en continu geheugenblok dat is toegewezen om informatie op te slaan zoals variabelen, methoden of functies, enz. Object wordt gemaakt met behulp van een nieuwe operator, in de programmeertaal Java. Als er bijvoorbeeld een klasse is met de naam Car, dan kan het volgende worden gebruikt om een object van de klasse Car te maken.
nieuwe auto();
Hier wordt een auto-object gemaakt door de nieuwe operator en wordt een verwijzing naar object geretourneerd. De nieuwe operator samen met de constructor van de klasse Car wordt gebruikt om het nieuwe object te maken. De levensduur van het object begint vanaf de aanroep naar de constructor tot het moment dat het wordt vernietigd. Zodra een object niet is verwezen, wordt het verwijderd / vernietigd door de garbage collector.
Wat is een instantie?
Instance is een geheugenblok dat de verwijzing naar een object bevat. Met andere woorden, Instance behoudt het adres van het eerste geheugenblok waarin het object is opgeslagen. Eigenlijk kan de naam van de instantie worden gebruikt om toegang te krijgen tot het begin van het objectgeheugengebied. Offsets van het startgeheugen worden berekend door de runtime-engine, zodat we kunnen gaan naar waar de individuele gegevens of methodeverwijzingen zijn opgeslagen. De volgende Java-code is geknipt, kan worden gebruikt om een instantie van een auto-object te maken.
Car myCar = nieuwe auto ();
Zoals hierboven vermeld, maakt de nieuwe operator het Car-object en retourneert de verwijzing ernaar. Deze referentie wordt opgeslagen in de variabele Car type myCar. MyCar is dus de instantie van het gemaakte auto-object.
Wat is het verschil tussen een object en een instantie?
Object is een aaneengesloten geheugenblok dat de feitelijke informatie opslaat die dit object van andere objecten onderscheidt, terwijl een instantie een verwijzing naar een object is. Het is een geheugenblok dat verwijst naar het startadres waar het object is opgeslagen. Twee gevallen kunnen naar hetzelfde object verwijzen. Levensduur van een object en een instantie zijn niet gerelateerd. Daarom kan een instantie null zijn. Zodra alle instanties die naar een object verwijzen, zijn verwijderd, wordt het object vernietigd.