Публикации по теме '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 просмотров
schedule
27.04.2023
Какие языки поддерживают ковариантность для возвращаемых типов унаследованных методов?
Первоначально я задал этот вопрос , но, найдя ответ, обнаружил, что моя первоначальная проблема заключалась в отсутствии поддержки в С# ковариации типов возвращаемых данных унаследованных методов. Узнав об этом, мне стало интересно, какие языки...
593 просмотров
schedule
03.07.2022
Как универсальная ковариация и контравариантность реализованы в C # 4.0?
Я не был на PDC 2008, но услышал новости о том, что C # 4.0 объявлен для поддержки универсальной ковариантности и контр-дисперсии. То есть List<string> можно назначить List<object> . Как такое могло быть?
В книге Джона Скита C #...
36488 просмотров
schedule
02.04.2022
Общие подстановочные знаки в объявлениях переменных в Scala
В Java я мог бы сделать это:
class MyClass {
private List<? extends MyInterface> list;
public void setList(List<MyImpl> l) { list = l; }
}
... при условии, что ( MyImpl implements MyInterface ), конечно.
Какой аналог...
14220 просмотров
schedule
22.12.2022
Проблема с возвращаемыми типами 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 просмотров
schedule
19.06.2022
Наследование интерфейсов в 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 просмотров
schedule
15.04.2022
Почему 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<Dog> подклассом List<Animal> ? Почему дженерики 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