Конструирование ПО. Семинар 6: Generics, PECS, Wildcards, Type erasure

1.

Конструирование ПО
Семинар 6: Generics, PECS, Wildcards, Type erasure
Хохлов Игорь Дмитриевич, приглашённый преподаватель ФКН НИУ ВШЭ

2.

T
T
T
T
extends
super
Generics

3.

Generics

4.

Generics

5.

Generics

6.

Generics

7.

Generics

8.

Covariance
Generics

9.

Invariance
Generics

10.

Wildcards <?>
Generics

11.

Producer extends, consumer super
PECS
Generics

12.

Hierarchy (B2 extends A1, …)
PECS: hierarchy
Generics

13.

List<? extends C2> list = …;
PECS: extends
Generics

14.

List<? super C2> list = …;
PECS: super
Generics

15.

class A class B class C
PECS: hierarchy
Generics

16.

List<? extends T> list reading and assigning
PECS: extends
Generics

17.

List<? super T> list writing and assigning
PECS: super
Generics

18.

Collections.copy(List<? super T>, List<? extends T>)
PECS: practice
Generics

19.

<T extends Object & Comparable<? super T>>
PECS: practice
Generics

20.

<?>
Generics

21.

<?>
Generics

22.

«Wildcard Capture» pattern
<?> Oracle Docs
Generics

23.

PECS: test
Generics

24.

Practice
Generics

25.

Practice
Generics

26.

Practice
Generics

27.

Type erasure
Generics

28.

Type erasure
Generics
English     Русский Правила