Ковариантность
Ковариантность — это сохранение иерархии наследования исходных типов в производных типах в том же порядке.
Например, если тип Кошка
наследуется от типа Животное
, то естественно полагать, что массив Массив<Кошка>
будет потомком массива Массив<Животное>
. Действительно, «список из пяти кошек» — это частный случай «списка из пяти животных».
В таком случае говорят, что тип Массив<T>
ковариантен своему параметру-типу T
.