Deo zbornika Učimo Javu
Generičke klase
Pomoću generičkih klasa opisujemo opšti slučaj bez upotrebe konkretnih tipova. Ovo nam omogućava kreiranje klasa i metoda koje se razlikuju u specifikaciji jednog ili više tipova, dok se ne deklarišu i instanciraju u okviru klijentskog koda.
Primer
U sledećem primeru kreiramo klasu MojGenerickiNiz
koja predstavlja generički niz. Ovaj niz može da sadrži elemente bilo kog tipa. U okviru klase dodajemo konstruktor i metode getItem
i setItem
. Metoda main
će tokom izvršavanja kreirati dva niza pri čemu jedan sadrži celobrojne vrednosti, a drugi znakove.
Primer je dat u C# programskom jeziku:
public class MojGenerickiNiz<T> {
T[] array;
public MojGenerickiNiz(int size) {
array = new T[size + 1];
}
public T getItem(int index) {
return array[index];
}
public void SetItem(int index, T value) {
array[index] = value;
}
}
class Program {
static void Main(string[] args) {
MojGenerickiNiz<int> intArray = new MojGenerickiNiz<int>(5);
for (int i = 0; i < 5; i++) {
intArray.SetItem(i, i * 5);
}
for (int i = 0; i < 5; i++) {
Console.Write(intArray.getItem(i) + " ");
}
Console.WriteLine();
MojGenerickiNiz<char> charArray = new MojGenerickiNiz<char>(5);
for (int i = 0; i < 5; i++) {
charArray.SetItem(i, (char)(i + 97));
}
for (int i = 0; i < 5; i++) {
Console.Write(charArray.getItem(i) + " ");
}
Console.ReadKey();
}
}