Skillnad mellan Objekt och Instans

Anonim

Objekt vs Instans

Objektorienterad programmering (OOP) är ett av de mest populära programmeringsparadigma. I OOP fokuserar man på att tänka på problemet som ska lösas när det gäller verkliga element och representerar problemet när det gäller föremål och deras beteende. Många programmeringsspråk som stöder nyckelaspekter av OOP (kallade OOP-språk) har klassen som huvudprogrammeringsverktyg. De kallas klassbaserade. Klasser är en abstrakt representation av verkliga världsobjekt. Klasser har egenskaper som heter attribut. Attributen implementeras som globala och instansvariabler. Metoder i klasserna representerar eller definierar beteendet hos dessa klasser. Metoder och attribut för klasser kallas klassens medlemmar. I mycket enkla termer är en klass en ritning eller en mall för ett visst verkligt objekt. Så, ett objekt är minnesblocket (arna) som används för att lagra nödvändig information enligt denna ritning. Instans är ett minnesblock som refererar till ett objekt.

Vad är ett objekt?

Objekt är resultatet av instantiating en klass. Instantiation är processen att ta ritningen och definiera varje attribut och beteende så att det resulterande objektet faktiskt representerar ett verkligt objekt. Objektet är ett dedikerat och kontinuerligt minneblock som är allokerat för att lagra information som variabler, metoder eller funktioner etc. Objekt skapas med användning av ny operatör, i Java-programmeringsspråk. Till exempel, om det finns en klass som heter Car, kan följande användas för att skapa ett objekt i bilklassen.

Ny bil ();

Här skapas ett bilobjekt av den nya operatören och en referens till objekt returneras. Den nya operatören tillsammans med konstruktören i bilklassen används för att skapa det nya objektet. Objektets livslängd börjar från samtalet till dess konstruktör till den tid det förstörs. När ett objekt inte är hänvisat kommer det att tas bort / förstöras av sophämtaren.

Vad är en instans?

Instans är ett minnesblock, som innehåller referensen till ett objekt. Med andra ord kommer Instance att behålla adressen till startminneblocket där objektet är lagrat. I själva verket kan namnet på förekomsten användas för att komma till början av objektminnesområdet. Offsets från startminnet beräknas av runtime-motorn så att vi kan gå till var de enskilda data- eller metodreferenser lagras. Efter Java-kod snipped kan användas för att skapa en förekomst av ett Car-objekt.

Bil myCar = Ny bil ();

Som nämnts ovan skapar den nya operatören Car-objektet och returnerar referensen till den. Denna referens lagras i variabeln Car Car typ myCar. Så, myCar är förekomsten av det skapade bilobjektet.

Vad är skillnaden mellan ett objekt och en instans?

Objektet är ett sammanhängande minneblock som lagrar den faktiska informationen som skiljer det här objektet från andra objekt, medan en förekomst är en referens till ett objekt. Det är ett minnesblock, vilket pekar på staringsadressen för var objektet är lagrat. Två instanser kan referera till samma föremål. Livslängden på ett objekt och en förekomst är inte relaterade. Därför kan en förekomst vara null. När alla instanser som pekar på ett objekt tas bort kommer objektet att förstöras.