Generiki so močno orodje v objektno usmerjenih programskih jezikih, še zlasti
v jeziku java. Pri razvoju programske opreme igrajo pomembno vlogo, saj
omogočajo programerju, da piše kodo, ki je neodvisna od konkretnih tipov, a
kljub temu jamči pravilno rabo tipov. Generični javanski razred (oz. metoda)
je v osnovi razred (oz. metoda), ki je parametriziran(a) s poljubnim številom
tipov. Pri uporabi generičnega razreda oz. metode podamo konkretne vrednosti za tipne parametre in tako prilagodimo kodo razreda oz. metode za
konkretne tipe. Druga prednost javanskih generikov je, da se skladnost tipov
preverja že v času prevajanja, ne šele v času izvajanja. Koncept, podoben
generikom v javi, obstaja tudi v jeziku C++: to so t.i. predloge. Predloge
v C++ in generiki v javi so si med seboj podobni po sintaksi, po podpori
parametrizaciji tipov in po najpogostejših primerih uporabe, močno pa se razlikujejo po implementaciji. Bistvene razlike lahko najdemo tudi pri uporabi
in semantiki generikov in predlog. V tej diplomski nalogi se bomo ukvarjali
tako z generiki v javi kot s predlogami v C++. Govorili bomo o njihovih
medsebojnih podobnostih in razlikah, pa tudi o prednostih in slabostih.
|