Skillnaden mellan objekt och instans

Skillnaden mellan objekt och instans
Skillnaden mellan objekt och instans

Video: Skillnaden mellan objekt och instans

Video: Skillnaden mellan objekt och instans
Video: MeeGo - забытая система Nokia. 2024, November
Anonim

Objekt vs instans

Object Oriented Programming (OOP) är ett av de mest populära programmeringsparadigmen. I OOP ligger fokus på att tänka på problemet som ska lösas i termer av verkliga element och att representera problemet i termer av objekt och deras beteende. Många programmeringsspråk som stöder nyckelaspekter av OOP (kallade OOP-språk) har klassen som det huvudsakliga programmeringsverktyget. De kallas klassbaserade. Klasser är en abstrakt representation av verkliga objekt. Klasser har egenskaper som kallas attribut. Attribut implementeras som globala variabler och instansvariabler. Metoder i klasserna representerar eller definierar beteendet hos dessa klasser. Metoder och attribut för klasser kallas medlemmarna i klassen. I mycket enkla termer är en klass en ritning eller en mall för ett specifikt verkligt objekt. Så, ett objekt är minnesblocken som används för att lagra nödvändig information enligt denna ritning. Instans är ett minnesblock som hänvisar till ett objekt.

Vad är ett objekt?

Objekt är resultatet av att instansiera en klass. Instantiering är processen att ta ritningen och definiera varje attribut och beteende så att det resulterande objektet faktiskt representerar ett verkligt objekt. Objekt är ett dedikerat och kontinuerligt minnesblock som allokerats för att lagra information såsom variabler, metoder eller funktioner etc. Objekt skapas med hjälp av en ny operatör, i programmeringsspråket Java. Om det till exempel finns en klass som heter Car, kan följande användas för att skapa ett objekt av klassen Car.

ny bil();

Här skapas ett bilobjekt av den nya operatören och en referens till objektet returneras. Den nya operatören tillsammans med konstruktören av klassen Car används för att skapa det nya objektet. Objektets livslängd börjar från anropet till dess konstruktör till det att det förstörs. När ett föremål inte har hänvisats 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 startminnesblocket där objektet är lagrat. Faktiskt kan namnet på instansen användas för att komma åt början av objektminnesområdet. Offsets från startminnet beräknas av runtime-motorn så att vi kan gå dit de enskilda data eller metodreferenser lagras. Följande Java-kodavsnitt kan användas för att skapa en instans av ett bilobjekt.

Car myCar=new Car();

Som nämnts ovan skapar den nya operatören bilobjektet och returnerar referensen till det. Denna referens lagras i variabeln Biltyp myCar. Så, myCar är instansen av det skapade bilobjektet.

Vad är skillnaden mellan ett objekt och en instans?

Objekt är ett sammanhängande minnesblock som lagrar den faktiska informationen som skiljer detta objekt från andra objekt, medan en instans är en referens till ett objekt. Det är ett minnesblock som pekar på stirrande adress där objektet är lagrat. Två instanser kan referera till samma objekt. Livslängderna för ett objekt och en instans är inte relaterade. Därför kan en instans vara null. När alla instanser som pekar på ett objekt har tagits bort kommer objektet att förstöras.

Rekommenderad: