Kaj je matrika razreda?

V objektno usmerjenem računalniškem programiranju se lahko niz razredov nanaša na eno od dveh vrst podatkovnih struktur. Nekateri programerji uporabljajo izraz za opis standardnega podatkovnega tipa matrike, sestavljenega iz elementov, ki so predmetni primerki danega razreda. Lahko je tudi enkapsuliran objekt matrike razreda, znan tudi kot objekt ovoja, ki se uporablja namesto skalarnega niza, da se omogočijo različne metode za uporabo pri upravljanju matrike. Čeprav lahko obstaja bolj zapletena funkcionalnost, se razred matrike ovoja po konceptu res ne razlikuje od objektov ovoja za druge skalarne vrste podatkov, kot so cela števila ali znaki. V obeh primerih se struktura lahko uporablja samo v kontekstu objektno usmerjenega programskega jezika, ki podpira razrede.

Prva definicija matrike razreda jo opredeljuje kot standardni podatkovni tip matrike, za katerega je deklarirano, da vsebuje predmete, ki so bili instancirani iz enega samega določenega razreda. To se običajno naredi pri držanju niza predmetov, zlasti če je znano največje število predmetov, tako da matrika ni deklarirana s preveliko količino elementov. Polimorfni mehanizmi v objektno usmerjenem programiranju pomenijo, da je uporaba matrike razredov lahko zelo dinamična, ker lahko vsebuje generični nadrazred, ki omogoča, da se različni podrazredi hranijo kot elementi kljub različnim izvedbam. En zaplet pri uporabi matrike razreda pa lahko nastane, ko je število elementov neznano in bodisi naraste večje od definirane velikosti matrike ali pa je zelo majhno, zaradi česar je zapravljen pomnilniški prostor, dodeljen matriki. Rešitev je uporaba objektov vrste zbirke, kot so vektorji ali seznami nizov, namesto skalarnega niza, ki mu ni mogoče spremeniti velikosti.

Druga definicija matrike razreda je objekt, ki vsebuje skalarno matriko, vendar ponuja tudi številne metode za manipulacijo in spreminjanje matrike. Nekateri jeziki izvajajo zelo učinkovite algoritme razvrščanja in iskanja znotraj ovoja matrike razreda. Druga prednost pri uporabi matrike, ki je implementirana kot razred, je ta, da je razred mogoče enostavno posredovati in spreminjati z različnimi funkcijami in metodami, še posebej, če je osnovni razred matrike potomec generičnega razreda objektov. Matrika razredov je pogosto osnova za druge vrste razredov, ki temeljijo na matrikah v programski knjižnici, kot je seznam nizov ali razpršilna tabela. Poleg tega nekateri jeziki omogočajo razširitev razreda matrike, kar pomeni, da lahko uporabnik na novo definira nekatere osnovne metode z bolj specializiranimi izvedbami, hkrati pa ohrani osnovno funkcionalnost razreda.