Forskjell mellom objekt og instans

Anonim

Objekt vs forekomst

Objektorientert programmering (OOP) er et av de mest populære programmeringsparadigmene. I OOP fokuseres det på å tenke på problemet som skal løses i forhold til virkelige elementer og representerer problemet når det gjelder gjenstander og deres oppførsel. Mange programmeringsspråk som støtter viktige aspekter ved OOP (kalt OOP-språk) har klassen som hovedprogrammeringsverktøyet. De kalles klassebasert. Klasser er en abstrakt representasjon av virkelige verdensobjekter. Klasser har egenskaper som kalles attributter. Attributter implementeres som globale og instansvariabler. Metoder i klassene representerer eller definerer oppførselen til disse klassene. Metoder og attributter til klasser kalles medlemmer av klassen. I svært enkle termer er en klasse en tegning eller en mal for et bestemt virkelighetsobjekt. Så, et objekt er minneblokken (e) som brukes til å lagre nødvendig informasjon i henhold til denne planen. Instans er en minneblokk som refererer til et objekt.

Hva er et objekt?

Objekter er resultatet av instantiating en klasse. Instantiation er prosessen med å ta tegningen og definere hver attributt og oppførsel, slik at den resulterende objektet faktisk representerer et virkelighetsobjekt. Objektet er en dedikert og kontinuerlig blokk med minne som er tildelt for å lagre informasjon som variabler, metoder eller funksjoner, etc. Objekt er opprettet ved bruk av ny operatør, i Java-programmeringsspråk. For eksempel, hvis det er en klasse som kalles Bil, kan følgende brukes til å opprette et objekt av bilklassen.

ny bil ();

Her opprettes et bilobjekt av den nye operatøren, og en referanse til objekt returneres. Den nye operatøren sammen med konstruktøren til bilklassen brukes til å lage det nye objektet. Objektets levetid starter fra samtalen til konstruktøren til tiden den blir ødelagt. Når et objekt ikke er referert, vil det bli fjernet / ødelagt av søppelsamleren.

Hva er en forekomst?

Instans er en minneblokk, som inneholder referansen til et objekt. Med andre ord vil Instance beholde adressen til startminneblokken der objektet er lagret. Faktisk kan navnet på forekomsten brukes til å få tilgang til begynnelsen av objektminneområdet. Offsets fra startminnet beregnes av runtime-motoren, slik at vi kan gå til hvor de enkelte data- eller metoden referanser er lagret. Følgende Java-kode snipped kan brukes til å opprette en forekomst av et bilobjekt.

Bil myCar = Ny bil ();

Som nevnt ovenfor oppretter den nye operatøren bilobjektet og returnerer referansen til den. Denne referansen er lagret i variabelen Car Type myCar. Så, myCar er forekomsten av bilobjektet som er opprettet.

Hva er forskjellen mellom et objekt og en instans?

Objekt er en sammenhengende blokk med minne som lagrer den faktiske informasjonen som skiller dette objektet fra andre objekter, mens en forekomst er en referanse til en gjenstand. Det er en blokk med minne, som peker på stjernestatusen til hvor objektet er lagret. To forekomster kan referere til samme objekt. Livsspenninger av et objekt og en forekomst er ikke relatert. Derfor kan en forekomst være null. Når alle tilfeller som peker på at et objekt er fjernet, vil objektet bli ødelagt.