Українська
Тема 9. Узагальнене програмування: узагальнені класи й функції, варіантність, reified-параметри
Мета: навчитися проєктувати узагальнені типи, задавати достатні обмеження, розрізняти виробників і споживачів та перевіряти поведінку і статичний контракт власного API.
Зміст лекції
- Параметри типу та узагальнені класи — Параметр типу як частина контракту · Приклад 1. Стек на зв’язних вузлах
- Узагальнені функції та межі — Узагальнені функції та обмеження · Nullable-межі й definitely non-null
- Варіантність і проєкції — Інваріантність: чому підтип елемента не достатній · Варіантність на місці оголошення · Проєкції на місці використання
- Стирання типів і reified — Стирання типів і reified · Sealed-результати, Nothing і псевдоніми
- Проєктування та перевірка API — Проєктування API: від операцій до варіантності · Перевірка контрактів без випадкових приведень · Узагальнення та предметна тотожність