Java_generics.pdf
(
155 KB
)
Pobierz
TYPY GENERYCZNE (GENERICS)
ZAGADNIENIA:
●
wprowadzenie,
konwencje, metody, typy surowe
parametry ograniczone
podtypy, dziedziczenie,
symbole wieloznaczne,
ograniczenia.
●
●
●
●
●
MATERIAŁY:
http://docs.oracle.com/javase/tutorial/java/generics/
HTTP://USERS.UJ.EDU.PL/~CIESLA/
JĘZYK JAVA, FAIS UJ 2012/2013
1
TYPY GENERYCZNE
List<String> list =
new
ArrayList<String>();
list.add("Ala");
String s = list.get(0);
ZALETY:
●
kontrola typów na poziomie kompilacji, a nie dopiero
w trakcie działania programu
brak potrzeby rzutowania,
konstruowanie ogólnych algorytmów.
●
●
HTTP://USERS.UJ.EDU.PL/~CIESLA/
JĘZYK JAVA, FAIS UJ 2012/2013
2
PRZYKŁAD
public class
Box<T> {
// T oznacza Typ
private
T
t;
public void
set(T t) {
this.t
= t;
}
public
T
get() {
return
t;
}
}
ogólnie:
class
NazwaKlasy<T1, T2, ..., Tn> {
...
}
HTTP://USERS.UJ.EDU.PL/~CIESLA/
JĘZYK JAVA, FAIS UJ 2012/2013
3
KONWENCJE
●
●
●
●
●
T – typ,
K – klucz,
V – wartość,
E – element (np. kolekcji),
N – liczba
PRZYKŁAD:
public interface
Pair<K, V> {
public
K getKey();
public
V getValue();
}
HTTP://USERS.UJ.EDU.PL/~CIESLA/
JĘZYK JAVA, FAIS UJ 2012/2013
4
PRZYKŁADY
public class
OrderedPair<K, V>
implements
Pair<K, V> {
private
K
key;
private
V
value;
public
OrderedPair(K key, V value) {
this.key
= key;
this.value
= value;
}
public
K getKey() {
return
key;
}
public
V getValue() {
return
value;
}
}
Pair<String, Integer> p =
new
OrderedPair<String, Integer>("Even", 8);
Pair<String, Integer> p =
new
OrderedPair<>("Even", 8);
// Java 7
HTTP://USERS.UJ.EDU.PL/~CIESLA/
JĘZYK JAVA, FAIS UJ 2012/2013
5
Plik z chomika:
MrMacierz
Inne pliki z tego folderu:
JAVA_7_CONCURRENCY_COOKBOOK.pdf
(2516 KB)
LEARNING_ANDROID_INTENTS.pdf
(7750 KB)
JAVA_EE_7_DEVELOPMENT_WITH_NETBEANS_8.pdf
(10004 KB)
Java_generics.pdf
(155 KB)
Inne foldery tego chomika:
Java Certification Guides
Linux Utilities Cookbook - James Kent Lewis
Mastering JavaScript Design Patterns - Simon Timms
Object-Oriented JavaScript - Second Edition - Stoyan Stefanov
Zgłoś jeśli
naruszono regulamin