Ковариантность и контравариантность — это концепции, связанные с типизацией данных и описывают совместимость типов по отношению друг к другу. Это механизм типо-безопасности при полиморфизме (разных реализации одного контракта/интерфейса). Ковариантность — “сужает” тип – позволяет использовать более конкретный тип, чем тот, который определен в родительском классе – уточняет тип возвращаемого значения. Контравариантность — “расширять” тип – […]