Публикации по теме 'covariance'


От принципа подстановки Лисков к ковариации
Для начала, чтобы не тратить ваше время, эта статья посвящена ковариации в объектно-ориентированном программировании, а не в математическом (как в статистике или обработке сигналов). Ковариантность и контравариантность — это функции, поддерживаемые современными языками программирования, которые позволяют входным или выходным значениям изменять тип, когда мы специализируем метод в дочернем классе. В этот момент вы можете спросить себя, как они могут быть связаны; Пожалуйста, оставайтесь..

Ковариация и корреляция в науке о данных
Поскольку это мой первый пост на Medium, я хотел дать простое объяснение того, что такое ковариация и корреляция и как они полезны в науке о данных. Давайте начнем …….. Это два математических понятия, которые обычно используются в статистике. Насколько хорошо одна переменная связана/влияет на другую переменную? Но между этими двумя понятиями есть тонкая разница. Это то, что мы собираемся увидеть в этом посте. мы все сталкиваемся с этими понятиями каждый день в нашей жизни с / без..

Подробнее о градиенте
В беседах с Евгением я определил конкретные примеры, которые могут помочь моей последней странице Преодоление проблемы исчезающего градиента . Рассмотрим рекуррентную нейронную сеть, которая играет в игру «Лабиринт». Предлагается последовательный выбор: выбрать «правосторонний путь» или «левосторонний путь», а награды выдаются только в том случае, если лабиринт пройден менее чем за определенное количество вариантов. Предположим, что среди всех успешных воспроизведений сеть выбрала..

Вопросы по теме 'covariance'

Почему в C # нельзя сохранить объект List ‹string› в переменной List ‹object›?
Кажется, что объект List не может быть сохранен в переменной List в C # и даже не может быть явно приведен таким образом. List<string> sl = new List<string>(); List<object> ol; ol = sl; приводит к невозможности неявно...
75684 просмотров
schedule 11.06.2024

Почему наследование не работает так, как я думаю, должно работать?
У меня есть некоторые проблемы с наследованием, поскольку у меня есть группа взаимосвязанных абстрактных классов, которые необходимо переопределить вместе для создания клиентской реализации. В идеале я хотел бы сделать что-то вроде следующего:...
1165 просмотров

Какие языки поддерживают ковариантность для возвращаемых типов унаследованных методов?
Первоначально я задал этот вопрос , но, найдя ответ, обнаружил, что моя первоначальная проблема заключалась в отсутствии поддержки в С# ковариации типов возвращаемых данных унаследованных методов. Узнав об этом, мне стало интересно, какие языки...
593 просмотров

Как универсальная ковариация и контравариантность реализованы в C # 4.0?
Я не был на PDC 2008, но услышал новости о том, что C # 4.0 объявлен для поддержки универсальной ковариантности и контр-дисперсии. То есть List<string> можно назначить List<object> . Как такое могло быть? В книге Джона Скита C #...
36488 просмотров

Общие подстановочные знаки в объявлениях переменных в Scala
В Java я мог бы сделать это: class MyClass { private List<? extends MyInterface> list; public void setList(List<MyImpl> l) { list = l; } } ... при условии, что ( MyImpl implements MyInterface ), конечно. Какой аналог...
14220 просмотров

Проблема с возвращаемыми типами Covariant из абстрактного метода
Я пытаюсь завершить двухдневную работу по абстрактным методам и возвращаемому типу ковариации, я уже опубликовал два похожих вопроса, и я бесконечно благодарен сообществу за предоставленную информацию, мне просто нужен последний толчок, чтобы...
682 просмотров
schedule 30.04.2022

Объяснение контравариантности
Во-первых, я прочитал много объяснений SO и блогов о ковариации и контравариантности, и большое спасибо Эрику Липперту за создание такой великолепной серии статей о ковариации и контравариантности . Однако у меня есть более конкретный вопрос,...
20926 просмотров
schedule 23.05.2022

.net 4 вопрос о дженериках
У меня есть следующая структура класса: public class A : AInterface { } public interface AInterface { } public class B<T> : BInterface<T> where T : AInterface { public T Element { get; set; } } public interface...
1467 просмотров
schedule 04.02.2023

Приведите примеры функций, демонстрирующих ковариантность и контравариантность в случаях как перегрузки, так и переопределения в Java?
Пожалуйста, покажите хороший пример ковариантности и контравариантности в Java.
43957 просмотров
schedule 04.07.2022

Почему концепции ковариации и контравариантности применимы при реализации методов интерфейса?
Вариант использования примерно такой: public class SomeClass : ICloneable { // Some Code // Implementing interface method public object Clone() { // Some Clonning Code } } Теперь мой вопрос: Почему невозможно...
939 просмотров
schedule 02.03.2023

Как IEnumerable‹T› Contra-вариант?
Это сообщение ( http://blogs.msdn.com/b/brada/archive/2005/01/18/355755.aspx ) говорит, что IEnumerable<T> является Contra-вариантом. Однако тип T является ковариантным, потому что это параметр out . Итак, в каком контексте...
2892 просмотров

Наследование интерфейсов в C#
Я пытаюсь решить довольно большую (для меня) проблему, с которой столкнулся при написании своего приложения. Посмотрите на это, пожалуйста (я постараюсь сократить код для простоты): У меня есть корневой интерфейс с именем IRepository<T> ....
760 просмотров
schedule 29.08.2022

Универсальные модели C# 4.0 и ASP.net MVC
Похоже, что в C# 4.0 спецификаторы вариации применимы только к типам интерфейсов. Итак, допустим, у меня есть классы ViewModel/EditModel и простая иерархия моделей. class MyEditModel<T> where T : Base { ... } class Derived1 : Base { ......
615 просмотров

Почему C # не выполняет простой вывод типов для универсальных шаблонов?
Просто любопытно: конечно, все мы знаем, что общий случай вывода типов для дженериков неразрешим. Таким образом, C # вообще не будет использовать какой-либо подтип: если Foo ‹T› является общим, Foo ‹int› не является подтипом Foo ‹T› или Foo...
710 просмотров
schedule 02.06.2023

Почему я не могу назначить Список ‹Derived› списку ‹Base›?
Я определил следующий класс: public abstract class AbstractPackageCall { ... } Я также определяю подкласс этого класса: class PackageCall : AbstractPackageCall { ... } Есть также несколько других...
7499 просмотров
schedule 07.06.2023

Как преобразовать IList‹SomeObject› в IList‹ISomeInterface›, где SomeObject реализует ISomeInterface с использованием ковариации в C# 4.0
Как преобразовать IList в IList, где SomeObject реализует ISomeInterface с использованием ковариации в C# 4.0 У меня есть что-то похожее на следующее IList<Items> GetItems; IList<IItems> items = GetItems() as IList<IItems>;...
2578 просмотров
schedule 22.03.2022

c ++: точный тип содержащихся объектов без приведения
У меня есть классический пример иерархии фигур ... struct Shape { // abstract type Shape (int x, int y); int x; int y; }; struct Rectangle : public Shape { Rectangle (int x, int y, int w, int h); int w; int h; }; struct...
187 просмотров
schedule 16.12.2022

Проблема приведения типов Java
Возможные дубликаты: Как преобразовать Vector‹ObjectA› в Vector‹ObjectB› в Java? Является ли List&lt;Dog&gt; подклассом List&lt;Animal&gt; ? Почему дженерики Java не являются неявно полиморфными? У меня логическая...
1719 просмотров
schedule 20.06.2022

objective-c ++: можно ли определить класс c ++ с помощью метода, который возвращает классы objective-c и использует ковариантные результаты?
** Изменить: это происходит только с llvm; gcc прекрасно это поддерживает. Обратите внимание на следующее. Objective-c классы A и B. B является подклассом A. Мы хотим, чтобы иерархия C ++ выглядела так: class X { //... public:...
335 просмотров
schedule 22.06.2023

Разница между ковариацией и повышающим приведением
В чем разница между ковариацией и преобразованием вверх или, точнее, почему им даются разные имена? Я видел следующий пример, называемый «апкастированием»: string s = "hello"; object o = s; //upcast to 'string' to 'object' Принимая во...
2866 просмотров
schedule 03.02.2023