12.10. Generičko programiranje, generici,
0 - Uvodni deo lekcije: Da se podsetimo
Verovatno se sećate šta su nizovi, a ako treba jasnije, web članak sa sve primerima možete pogledati ovde. Za razliku od nizova kolekcije su vam veći progres od nizova i mnogo se više koriste u programiranju. Tačnije kolekcije predstavljaju skup objekata kojima je moguće pristupati elemenat po elemenat. To u praksi znači da je kolekcija set objekata kojima se pristupa korišćenjem petlje foreach. Razlika između nizova i kolekcija je pre svega u tome što u većini nizova unapred trebate odrediti veličinu, dok to sa kolekcijama nije slučaj. Kolekcije imaju mnogo više funkcionalnosti nego nizovi.
Kolekcije se nalaze u imenskom prostoru System.Collection.
Mogu da budu generičke i negeneričke. Generičke kolekcije su
parametorizovane, znači moraju imati određen tip podataka i svi elementi
u kolekciji moraju biti istog tipa. Generičke kolekcije se za razliku
od negenerički kolekcija nalaze u imenskom prostoru System.Collections.Generic i omogućavaju vam type safe i nemate potrebe za konverzijom vaših podataka. Dok negeneričke kolekcije rade sa tipom podataka object.
Na taj način vi negeneričke kolekcije možete koristiti da u njih
smestite podatke različitog tipa podataka koje možete kasnije koristiti
konverzijom istih kastingom. Negeneričke klase nisu type safe i retko se koriste.
1 - Pogledajte:
LINK: Negeneričke kolekcije u C# programskom jeziku (objašnjenje i primeri)
2 - Uvod u generičko programoranje
U računarstvu, generičko programiranje je tehnika koja dozvoljava da jedna promenljiva može da čuva različite tipove podataka sve dok su zadovoljeni određeni uslovi kao što su podklasa i pravilna deklaracija. Dakle, dozvoljava nam stvaranje funkcija i klasa koje ne zavise od tipa.
Primer: lista, stek itd.
Na primer, ako se želi napraviti lista
koristeći generičnost, moguća deklaracija bi bila List <T>, gde T
predstavlja vrstu podataka. Kada se načini primerak može se napraviti
List<Integer> ili List<Animal>. Prema listi se zatim postupa
kao prema listi onog tipa podataka koji je naveden.
Od objektno orijentisanih programskih jezika, programski jezici C++, D, BETA, Eiffel, Ada i neke verzije Jave (1.5 i novije) podržavaju generičke tipove podataka.
VB.NET i C#
su počeli da podržavaju generičke tipove počev od verzije .NET 2.0
( Napomena: u VS 2010 je C# verzija 4.0 )
Iako, u C++ se koriste: Šabloni (template) – oni su osnova za generičko programiranje: šablon je u stvari formula ili recept za stvaranje klase ili funkcije. Postoje funkcijski šabloni i šabloni klase.
U C# koristimo Generike :
3. Glavni deo lekcije,
sa primerima, sledi na sledećem linku:
*** LEKCIJA: Šta su generici i kako se prave? ***
U ovoj lekciji posebnu pažnju posvetita generičkoj klasi !