Mikä on luokkajoukko?

Objektisuuntautuneessa tietokoneohjelmoinnissa luokkataulukko voi viitata johonkin kahden tyyppisistä tietorakenteista. Jotkut ohjelmoijat käyttävät termiä kuvaamaan vakiomallista tietotyyppiä, joka koostuu elementeistä, jotka ovat tietyn luokan objektiesimerkkejä. Se voi myös olla luokkataulukon koteloitu objekti, joka tunnetaan myös nimellä kääreobjekti, jota käytetään skalaarimatriisin sijasta, jotta voidaan tarjota erilaisia ​​menetelmiä käytettäväksi taulukon hallintaan. Vaikka toiminnallisuus saattaa olla monimutkaisempaa, kääretaulukkoluokka ei todellakaan eroa konseptistaan ​​kuin kääriobjektit muille skalaaritiedoille, kuten kokonaisluvuille tai merkeille. Molemmissa tapauksissa rakennetta voidaan käyttää vain luokkia tukevan olio -ohjelmointikielen yhteydessä.

Luokkamatriisin ensimmäinen määritelmä tunnistaa sen vakiotyyppiseksi tietotyypiksi, jonka on ilmoitettu sisältävän yksittäisestä luokasta luotuja objekteja. Tämä tehdään yleensä silloin, kun kädessä on joukko objekteja, varsinkin kun enimmäismäärä objekteja tiedetään, joten taulukkoa ei ilmoiteta liiallisella määrällä elementtejä. Polymorfiset mekanismit olio -ohjelmoinnissa tarkoittavat, että luokkataulukon käyttö voi olla hyvin dynaamista, koska se voi sisältää yleisen superluokan, jolloin eri alaluokkia voidaan pitää elementeinä niiden erilaisista toteutuksista huolimatta. Yksi komplikaatio luokkataulukkoa käytettäessä voi kuitenkin ilmetä, kun elementtien lukumäärä on tuntematon ja joko kasvaa suuremmaksi kuin taulukon määritetty koko, tai se on hyvin pieni, jolloin matriisille varattu muistitila hukkaantuu. Ratkaisu on käyttää kokoelmatyyppisiä objekteja, kuten vektoreita tai matalisteja, skalaarimatriisin sijaan, jonka kokoa ei voi muuttaa.

Toinen luokkataulukon määritelmä on objekti, joka sisältää skalaarimatriisin, mutta tarjoaa myös useita menetelmiä matriisin manipuloimiseksi ja muuttamiseksi. Jotkut kielet toteuttavat erittäin tehokkaita lajittelu- ja hakualgoritmeja luokan matriisin kääreessä. Toinen etu luokkaksi toteutetun matriisin käytössä on, että luokka voidaan helposti siirtää ja muuttaa eri toiminnoilla ja menetelmillä, varsinkin jos perusmatriisiluokka on peräisin yleisestä objektiluokasta. Luokkotaulukko on usein perusta muille ohjelmointikirjastossa oleville matriisipohjaisille luokille, kuten arraylistille tai hajautaulukolle. Lisäksi jotkut kielet mahdollistavat matriisiluokan laajentamisen, mikä tarkoittaa, että käyttäjä voi määritellä uudelleen joitakin perusmenetelmiä erikoistuneilla toteutuksilla säilyttäen samalla luokan ydintoiminnot.