🗊Презентация Generics (Java)

Нажмите для полного просмотра!
Generics (Java), слайд №1Generics (Java), слайд №2Generics (Java), слайд №3Generics (Java), слайд №4Generics (Java), слайд №5Generics (Java), слайд №6Generics (Java), слайд №7Generics (Java), слайд №8Generics (Java), слайд №9Generics (Java), слайд №10Generics (Java), слайд №11Generics (Java), слайд №12Generics (Java), слайд №13Generics (Java), слайд №14

Вы можете ознакомиться и скачать презентацию на тему Generics (Java). Доклад-сообщение содержит 14 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





generics
Описание слайда:
generics

Слайд 2





Generics
Обобщенные:
типы (generic types)
классы (без enum, исключений, анонимных!)
интерфейсы (без аннотаций!)
методы (generic methods)
конструкторы (generic constructors)
Пример generics – Collection framework из состава Java core.
Описание слайда:
Generics Обобщенные: типы (generic types) классы (без enum, исключений, анонимных!) интерфейсы (без аннотаций!) методы (generic methods) конструкторы (generic constructors) Пример generics – Collection framework из состава Java core.

Слайд 3





Предназначение
 Контейнеры
 гетерогенные 
 гомогенные
 Параметризация
 типов
 методов
 конструкторов
Описание слайда:
Предназначение Контейнеры гетерогенные гомогенные Параметризация типов методов конструкторов

Слайд 4





Преимущества
 Определение ошибок использования типов на этапе компиляции.
 Использование параметризованных
 типов
 методов
 конструкторов
 Использование wildcards
 с ограничениями
 без ограничений
Описание слайда:
Преимущества Определение ошибок использования типов на этапе компиляции. Использование параметризованных типов методов конструкторов Использование wildcards с ограничениями без ограничений

Слайд 5





Терминология
Generic:
class A<T> {…}			класс
public <T> A() {…}		конструктор
public <T> T m(T t) {…} 	метод
T – параметр generic-а
Описание слайда:
Терминология Generic: class A<T> {…} класс public <T> A() {…} конструктор public <T> T m(T t) {…} метод T – параметр generic-а

Слайд 6





Параметризация
Подстановка вместо параметра конкретного значения при использовании generic:
Параметризованный класс:
A<String> a = new A<String>();
Описание слайда:
Параметризация Подстановка вместо параметра конкретного значения при использовании generic: Параметризованный класс: A<String> a = new A<String>();

Слайд 7





Байт код параметризованных generic-ов
Один байт код на все варианты конкретных значений параметра.
Описание слайда:
Байт код параметризованных generic-ов Один байт код на все варианты конкретных значений параметра.

Слайд 8





Сырой тип (raw type)
Использование generic без значения параметра
Generic класс:
class A<T> {…}		
Raw класс:
A a = new A();
Описание слайда:
Сырой тип (raw type) Использование generic без значения параметра Generic класс: class A<T> {…} Raw класс: A a = new A();

Слайд 9





Wildcard параметризованные типы
Использование generic с указанием wildcards:
? extends	<== 	extends wildcard
? super	<== 	super wildcard
? 		<== 	unbounded wildcard
Generic класс:
class A<T> {…}		
Wildcard параметризованный класс:
A<?> a = new A<String>();
A<? extends Number> a = new A<Integer>();
A<? super Integer> a = new A<Number>();
Описание слайда:
Wildcard параметризованные типы Использование generic с указанием wildcards: ? extends <== extends wildcard ? super <== super wildcard ? <== unbounded wildcard Generic класс: class A<T> {…} Wildcard параметризованный класс: A<?> a = new A<String>(); A<? extends Number> a = new A<Integer>(); A<? super Integer> a = new A<Number>();

Слайд 10





Параметры generic с ограничениями
При объявлении можно наложить ограничения на значение параметра generic.
class A <T extends B & J1 & J2> {…}
J1, J2 - интерфейсы
При использовании класса A
если B – интерфейс
 T – интерфейс, обязан наследовать B, J1, J2,
если B – класс
 T – класс, обязан наследовать B, реализовывать J1, J2
Описание слайда:
Параметры generic с ограничениями При объявлении можно наложить ограничения на значение параметра generic. class A <T extends B & J1 & J2> {…} J1, J2 - интерфейсы При использовании класса A если B – интерфейс T – интерфейс, обязан наследовать B, J1, J2, если B – класс T – класс, обязан наследовать B, реализовывать J1, J2

Слайд 11





Ограничения использования параметра generics
Внутри generic нельзя:
создать объект этого типа
создать массив такого типа
использовать в секции catch
использовать в статическом контексте
использовать в instanceof (справа)
наследовать
Замечание: информация о конкретном значении параметра во время выполнения не доступна.
Описание слайда:
Ограничения использования параметра generics Внутри generic нельзя: создать объект этого типа создать массив такого типа использовать в секции catch использовать в статическом контексте использовать в instanceof (справа) наследовать Замечание: информация о конкретном значении параметра во время выполнения не доступна.

Слайд 12





Преобразования типов
raw type  parameterized types
parameterized types  parameterized types
Описание слайда:
Преобразования типов raw type  parameterized types parameterized types  parameterized types

Слайд 13





Преобразования типов
Начиная с 7й версии JSE язык включает т.н. daemond оператор:
A<String> a = new A<>();
Компилятор автоматически подставит подходящее (исходя из контекста) значение параметра generic.
Описание слайда:
Преобразования типов Начиная с 7й версии JSE язык включает т.н. daemond оператор: A<String> a = new A<>(); Компилятор автоматически подставит подходящее (исходя из контекста) значение параметра generic.

Слайд 14





Массивы параметризованных generic
Объявить переменную типа массив параметризованных типов можно:
List<String>[] ar;
Создать массив нельзя:
ar = new ArrayList<String>[]; // compile time error!
Исключение (допустимо только для параметризованного wildcard без ограничений):
List<?>[] x = new ArrayList<?>[3]; // all ok
Описание слайда:
Массивы параметризованных generic Объявить переменную типа массив параметризованных типов можно: List<String>[] ar; Создать массив нельзя: ar = new ArrayList<String>[]; // compile time error! Исключение (допустимо только для параметризованного wildcard без ограничений): List<?>[] x = new ArrayList<?>[3]; // all ok



Теги Generics (Java)
Похожие презентации
Mypresentation.ru
Загрузить презентацию