Objekt (programmering)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 14 juni 2016; kontroller kräver 13 redigeringar .

Ett objekt i programmering  är en entitet i det digitala rummet som har ett tillstånd och beteende, har fält och metoder . Som regel, när man betraktar objekt, betonas det att objekt tillhör en eller flera klasser som definierar beteendet (är en modell ) för ett objekt. Termerna " klassinstans " och "objekt" används omväxlande [1] . Analogi: ett objekt är vad som gjordes enligt en ritning, en klass är en ritning.

Ett objekt, tillsammans med begreppet en klass , är ett viktigt begrepp i det objektorienterade tillvägagångssättet . Objekt har egenskaperna arv , inkapsling och polymorfism [2] .

Termen objekt i mjukvara introducerades först i Simula- språket och användes för att modellera verkligheten [1] .

Relaterade begrepp

En  instans av en klass är en beskrivning av ett specifikt objekt i minnet. Klassen beskriver de fält och metoder som kommer att vara tillgängliga för ett objekt byggt enligt beskrivningen som anges i klassen. Instanser används för att representera (modellera) specifika enheter i den verkliga världen. Till exempel kan en instans av en tvättmaskinsklass vara din tvättmaskin, som har följande egenskaper: tillverkningsföretaget Vyatka, modellnamnet Vyatka-automatic , produktens serienummer VYAT454647, kapacitet 20 liter. Till skillnad från ett klassnamn börjar ett instansnamn vanligtvis med en liten bokstav.

Instantiering är skapandet  av en instans av en klass. Till skillnad från ordet "skapelse" tillämpas det inte på ett objekt, utan på en klass. Det vill säga, de säger: (i en virtuell miljö) skapa en instans av en klass , eller, med andra ord, instansiera en klass . Skapande mallar använder polymorf instansiering.

Ett anonymt objekt är ett  objekt som tillhör någon klass, men som inte har något namn.

Initialisering ( engelsk  initialization ) - tilldelning av initiala värden till objektets fält.

Livslängden för ett objekt  är tiden från det att objektet skapas (konstruktion) till dess förstörelse (förstörelse).

Praktiskt tillvägagångssätt

Med undantag för prototyporienterade språk som Lua och JavaScript , där begreppet "klass" inte används alls, i de flesta objektorienterade programmeringsspråk (som Java , C++ eller C# ), är objekt instanser av någon fördefinierad klass .

Objekt i sådana språk skapas med klasskonstruktorn och förstörs antingen med klassdestruktorn (till exempel i C++ ), eller automatiskt med sopsamlaren - till exempel i Java och C# (C# stöder destruktorer, men de kallas av sopsamlaren), eller med hjälp av intern objekt- och meddelandereferensräknare ("dealloc" i Objective-C ). Ett objekt lagras som data för alla dess fält och referenser till den virtuella metodtabellen och RTTI för dess klass. Klassen definierar en uppsättning funktioner och serviceinformation för att bygga ett objekt, inklusive den erforderliga mängden minne för att lagra objektet.

I Python är alla värden objekt, även klasser. På det här språket kan du bygga en klass, av vilka klasser kommer att vara instanser. Sådana klasser kallas metaklasser .

Exempelkod

Ett exempel på att skapa ett nytt objekt och arbeta med det i programmeringsspråket Java :

// Skapa en instans av klassen ArrayList med namnet list ArrayList list = new ArrayList (); // Lägga till instanser av klassen Integer till listobjektlistan . add ( nytt heltal ( 1 )); lista . add ( nytt heltal ( 2 )); lista . add ( nytt heltal ( 3 ));

Det antas att klassen ArrayListredan har beskrivits i programkoden och dess beskrivning innehåller en definition för klasskonstruktorn och metoden add.

Anteckningar

  1. 1 2 Grady Butch. Objektorienterad analys och design med C++-applikationsexempel, klasser och objekt . Hämtad 9 oktober 2009. Arkiverad från originalet 1 december 2009.
  2. Fotnotsfel ? : Ogiltig tagg <ref>; defingen text för fotnoter

Litteratur

  • Grady Butch. Objektorienterad analys och design med exempelapplikationer i C++. - Binom, 1998. - ISBN 0-8053-5340-2 , ISBN 5-7989-0067-3 , ISBN 5-7940-0017-1 .