Vad är ett arrayobjekt?
Ett arrayobjekt är ett stycke data som finns på en specifik plats i ett block av sammanhängande minne. Dessa minnesblock kallas matriser, och de används för att gruppera liknande objekt för enkel organisering och åtkomst inom ett datorprogram. Platsen för ett objekt i en matris kallas ett index; på de flesta datorspråk börjar indexet för det första objektet vid 0, snarare än 1. Ett objekt behöver inte vara närvarande vid varje index i en matris. Till exempel kan en matris ha utrymme för fem objekt, men bara ha objekt placerade på index 0, 2 och 3.
Alla objekt i en matris måste vara av samma typ, så om en matris förklaras innehålla strängar måste varje arrayobjekt vara en sträng. Ett arrayobjekt kan vara av vilken storlek som helst och innehålla alla typer av data, så länge den allmänna objekttypen är den som deklareras av matrisen. En stränggrupp kan innehålla en sträng som är 50 tecken lång, och nästa index kan vara 50 000 tecken lång; bara deras typer är viktiga. Arrayobjekt kan vara enkla typer, som ett nummer eller en sträng, eller vilken typ av komplexa objekt som helst.
Under vissa omständigheter kan ett arrayobjekt vara en helt ny matris. När en matris innehåller ett objekt som i sig är en matris kallas den innehåller matrisen en multidimensionell matris. Det finns två typer av arrayobjekt i multidimensionella matriser: arrayobjekten som själva är matriser och de objekt som de sekundära arrayerna har. Alla tidigare typregler gäller för flerdimensionella matriser, så om ett arrayobjekt också är en matris måste alla andra objekt också vara matriser. Denna häckning av matriser kan göras så många gånger som behövs, vilket skapar tvådimensionella rutnät, tredimensionella kuber eller högklassiga dataklasser.
Matriser och typen av arrayobjekt som tillåts i dem skiljer sig något mellan programmeringsspråk. Vissa språk tillåter fullständig kontroll över matriser och deras objekt, vilket gör att en programmerare kan skapa dem när som helst. Andra döljer matriserna och föremålen inuti omslag som gör att en programmerare kan manipulera dem indirekt. Ytterligare andra språk har specialkonstruktioner som tvingar en matris att se alla objekt som samma typ, vilket delvis ogiltigför sin regel om typspecificitet utan att bryta de underliggande data. Oavsett hur matriser implementeras påverkas inte själva matrisobjekten förutom att grupperas, och förmågan att gruppera arrayobjekt är ett viktigt verktyg i dataorganisationen.