Forskel mellem objekt og instans

Anonim

Objekt vs forekomst

Objektorienteret programmering (OOP) er et af de mest populære programmeringsparadigmer. I OOP fokuserer man på at tænke på problemet, der skal løses i forhold til virkelige elementer og repræsentere problemet med hensyn til objekter og deres adfærd. Mange programmeringssprog, der understøtter nøgleaspekter af OOP (kaldet OOP-sprog), har klassen som hovedprogrammeringsværktøjet. De kaldes klasse-baserede. Klasser er en abstrakt repræsentation af virkelige verden objekter. Klasser har egenskaber kaldet attributter. Attributter implementeres som globale og instansvariabler. Metoder i klasserne repræsenterer eller definerer opførelsen af ​​disse klasser. Metoder og attributter af klasser kaldes medlemmerne af klassen. I meget enkle termer er en klasse en blueprint eller en skabelon til et bestemt virkelighedsobjekt. Så et objekt er hukommelsesblokken (e), der bruges til at lagre de nødvendige oplysninger i henhold til denne plan. Instans er en hukommelsesblok, der refererer til et objekt.

Hvad er et objekt?

Objekter er resultatet af instantiating en klasse. Instantiation er processen med at tage tegningen og definere hver attribut og adfærd, så den resulterende objekt faktisk repræsenterer et virkelighedsobjekt. Objektet er en dedikeret og kontinuerlig blokke til hukommelse, der er allokeret til at gemme information som variabler, metoder eller funktioner osv. Objekt er oprettet ved brug af ny operatør, i Java-programmeringssprog. For eksempel, hvis der er en klasse kaldet Bil, kan følgende bruges til at oprette et objekt af bilklassen.

ny bil ();

Her oprettes et Car-objekt af den nye operatør, og en reference til objektet returneres. Den nye operatør sammen med konstruktøren af ​​bilklassen bruges til at oprette det nye objekt. Objektets levetid starter fra opkaldet til dens konstruktør til det tidspunkt det er ødelagt. Når et objekt ikke er henvist, vil det blive fjernet / ødelagt af affaldssamleren.

Hvad er en instans?

Instance er en hukommelsesblok, som indeholder referencen til et objekt. Med andre ord vil Instance beholde adressen til starthukommelsesblokken, hvor objektet er gemt. Faktisk kan navnet på forekomsten bruges til at få adgang til starten af ​​objektets hukommelsesområde. Forskydninger fra starthukommelsen beregnes af runtime-motoren, så vi kan gå til, hvor de enkelte data- eller metodeferencer er gemt. Følgende Java-kode snipped kan bruges til at oprette en forekomst af et Car-objekt.

Bil myCar = Ny bil ();

Som nævnt ovenfor opretter den nye operatør bilobjektet og returnerer referencen til den. Denne reference er gemt i bilkaraktervariablen myCar. Så, myCar er forekomsten af ​​det bilobjekt, der er oprettet.

Hvad er forskellen mellem et objekt og en instans?

Objekt er en sammenhængende blok af hukommelse, der lagrer de faktiske oplysninger, der adskiller dette objekt fra andre objekter, mens en forekomst er en reference til et objekt. Det er en blok af hukommelse, som peger på stjernestatusen, hvor objektet er gemt. To tilfælde kan henvise til samme objekt. Livslængder af et objekt og en instans er ikke relaterede. Derfor kan en forekomst være null. Når alle forekomster, der peger på en genstand, er fjernet, vil objektet blive ødelagt.