Публикации по теме 'polymorphism'
Полиморфный как опора в Astro
Полиморфный как опора в Astro
В Astro есть динамические теги — способ использовать элемент или компонент в качестве реквизита.
Мне было трудно найти эту функцию, потому что сообщество React называет этот шаблон «полиморфным как опора». Потому что нам нравится наша псевдокомпьютерная чушь, созданная вручную.
Динамические теги легко реализовать в Astro.
Реализация без суеты
Возьмите заглавную Element опору в качестве локальной переменной. Отобразите этот реквизит как..
Сигнатуры функций/методов
Термин «сигнатура функции» означает элементы, которые позволяют языку идентифицировать «упомянутую функцию».
В строго типизированных языках (таких как Java, C, C++, C#, …) сигнатура функции состоит из ее имени и типа каждого из ее параметров.
Это означает, что вы можете найти несколько функций с одинаковым именем, но с разными параметрами.
Когда функция вызывается, компилятор будет искать функцию, которая применяется к этой сигнатуре.
В этих языках со строковой типизацией возможен..
Понимание полиморфизма
полиморфизм, сложно звучащее слово, которое просто означает наличие множества форм. И, что вполне уместно, существует множество форм полиморфизма. Одна форма, называемая динамическим или динамическим полиморфизмом, позволяет нам получать доступ к методам, используя один и тот же интерфейс для различных типов объектов, которые могут реализовывать эти методы по-разному.
Думайте об этой базовой кофеварке как о классе с методом заваривания кофе. Входными параметрами для этого метода..
Вопросы по теме 'polymorphism'
свойства и наследование python
У меня есть базовый класс со свойством, которое (метод get) я хочу перезаписать в подклассе. Моя первая мысль была примерно такой:
class Foo(object):
def _get_age(self):
return 11
age = property(_get_age)
class Bar(Foo):...
43092 просмотров
schedule
24.09.2022
Можно ли добавить метод доступа к свойству в .NET, переопределив его?
Можно ли сделать что-то подобное?
class A
{
public virtual string prop
{
get
{
return "A";
}
}
}
class B: A
{
private string X;
public override string prop
{
get
{...
315 просмотров
schedule
09.11.2022
Дженерики высшего порядка в Java
Предположим, у меня есть следующий класс:
public class FixExpr {
Expr<FixExpr> in;
}
Теперь я хочу представить общий аргумент, абстрагируясь от использования Expr:
public class Fix<F> {
F<Fix<F>> in;
}
Но...
5447 просмотров
schedule
12.03.2024
Поле принадлежит классу, но как использовать полиморфизм
У меня есть метод в базовом классе
class Base
{
private static string Colour = "blue";
string DoStuff() { return ColourProp; }
protected virtual string ColourProp { get{ return Base.Colour; } }
}
который вызывается для экземпляра...
809 просмотров
schedule
25.02.2024
Является ли Clojure объектно-ориентированным по своей сути? (Полиморфизм в последовательностях)
Clojure — это функциональный лисп, по сообщениям, совсем не объектно-ориентированный, хотя он работает на JVM, виртуальной машине, разработанной для объектно-ориентированного языка. Clojure предоставляет идентичные интерфейсы для перебора списков и...
6839 просмотров
schedule
18.11.2023
Как вызвать переопределенные методы в подклассе? Потенциальный кандидат на рефакторинг
Первоначально у меня была проблема проектирования, когда мне нужно было пять подклассов суперкласса, где все, кроме двух, использовали бы один и тот же общий метод выполнения действий, а два других класса нуждались бы в специальной обработке. Я хотел...
4321 просмотров
schedule
25.11.2023
Полиморфный вызов
Я новичок в java, я видел в коде во многих местах, где мои старшие объявили как
List myList = new ArrayList(); (вариант 1)
Вместо
ArrayList myList = new ArrayList(); (вариант 2)
Скажите, пожалуйста, почему люди используют вариант 1,...
4401 просмотров
schedule
10.10.2022
Проверка типов C++ во время компиляции
все. Я новичок в C++ и пишу небольшую библиотеку (в основном для своих собственных проектов) на C++. В процессе проектирования иерархии типов я столкнулся с проблемой определения оператора присваивания.
Я использовал базовый подход, который в...
2419 просмотров
schedule
13.05.2024
Scala: тип параметра в уточнении структуры не может ссылаться на абстрактный тип, определенный вне этого уточнения.
У меня проблема с дженериками scala. В то время как первая функция, которую я определил здесь, выглядит совершенно нормально, компилятор жалуется на второе определение:
error: Parameter type in structural refinement may not refer to an abstract...
1271 просмотров
schedule
06.02.2024
Почему полиморфизм Java не может уловить правильный метод при выборе между объектом и вектором?
У меня есть два похожих метода. Один предназначен для обработки объектов, другие векторы:
@SuppressWarnings("unused")
private void printRows(PrintWriter out, Vector<?> dataOb,
String[] columns, String[] columnType,...
618 просмотров
schedule
17.02.2024
Как правильно работать с различным поведением на основе полиморфизма
Предположим, у меня есть интерфейс IFoo с классами реализации VideoFoo , AudioFoo и TextFoo . Предположим далее, что я не могу изменить ни один из этих кодов. Предположим, что затем я хотел бы написать функцию, которая действует по-разному в...
350 просмотров
schedule
18.01.2024
Почему мой вектор не распознает мои производные классы?
У меня огромная проблема, намного больше, чем то, что я собираюсь опубликовать, но если кто-то может помочь мне с этим, то отсюда все будет гладко.
Итак, мой вектор указателей ОТКАЗЫВАЕТСЯ распознавать его производные классы. Позволь мне...
235 просмотров
schedule
03.01.2024
Полиморфизм с gson
У меня проблема с десериализацией строки json с помощью Gson. Я получаю массив команд. Команда может быть запуском, остановкой и другим типом команды. Естественно, у меня полиморфизм, и команда запуска/остановки наследуется от команды.
Как я...
58743 просмотров
schedule
25.04.2024
Шаблон декоратора тратит память
У меня есть этот базовый класс со следующим интерфейсом:
abstract class Base
{
abstract public object Val
{
get;
}
}
Для любых производных классов значение Val должно указываться во время создания объекта. Вопрос в следующем:...
549 просмотров
schedule
17.11.2023
Почему мультиметоды Clojure лучше, чем операторы if или case
Я потратил некоторое время, пытаясь понять мультиметоды Clojure. Главный аргумент "за" мультиметоды, насколько я понимаю, это их гибкость, однако меня смущает аргументация того, почему мультиметоды лучше простого оператора if или case. Может...
1566 просмотров
schedule
23.01.2024
SWIG Java Retaining Class информация об объектах, возвращающихся из C++
Хорошо, есть ключевое слово, которое я намеренно убрал из тегов и заголовка. Это "Android", но это потому, что хотя проект и на Android, я не думаю, что мой вопрос имеет к нему какое-то отношение, и я не хочу пугать людей без опыта работы с Android....
1746 просмотров
schedule
10.01.2024
почему полиморфизм не обрабатывает общие коллекции и простые массивы одинаково?
предположим, что класс Dog расширяет класс Animal: почему этот полиморфный оператор не разрешен:
List<Animal> myList = new ArrayList<Dog>();
Однако это разрешено с простыми массивами:
Animal[] x=new Dog[3];
5379 просмотров
schedule
19.12.2023
Это все еще полиморфизм?
Во время кодирования у меня возникло интересное сомнение по поводу полиморфизма, и я не мог найти решения для этого.
public class Animal {
public void getLegs() {
SOP("4 legs");
}
}
public class Kangaroo extends Animal {
public void...
243 просмотров
schedule
06.04.2024
Почему порядок наследования или сопоставление влияет на индекс vftable? (для VSC для C++)
Немного поигравшись с полиморфизмом, я попытался сделать что-то вроде следующего:
class a { virtual void method() { } };
class b { virtual void method() { } };
class c : public a, b {
virtual void method() { }
virtual void anotherMethod()...
464 просмотров
schedule
14.10.2022
Полиморфизм/динамическая привязка, суперкласс или интерфейс?
Если у меня есть несколько подтипов, каждый из которых наследует абстрактный суперкласс, и этот суперкласс реализует интерфейс - при реализации динамической привязки/полиморфизма есть ли разница между объявлением объектов как типа суперкласса, а не...
1700 просмотров
schedule
28.03.2024