Описание тега method-dispatch
По вопросам и ответам, связанным с динамическим вызовом методов объекта во время выполнения.
4
ответа
Ruby: Как мне вызвать функцию через ссылку на объект?
Рассмотрим этот надуманный пример: # Dispatch on value of fruit_kind: TYPE_A = :apple TYPE_B = :banana TYPE_C = :cherry eating_method = nil case fruit_kind # Methods to use for different kinds of fruit (assume these are # already defined) when TYPE_…
30 апр '09 в 13:49
1
ответ
Событие Itemclick в сетке данных
Проблема может быть резюмирована следующим образом: при щелчке элемента в сетке данных в текстовой области отображается значение элемента, но здесь компоненты являются отдельными и, следовательно, необходимо отправлять события. My mxml component fil…
09 июн '09 в 20:30
1
ответ
Как во время выполнения Swift знает, какую реализацию использовать?
protocol A { func f() } struct S1 : A { func f() { print("S1") } } struct S2 : A { func f() { print("S2") } } let array: [A] = [S1(), S2()] for s: A in array { s.f() } // "S1\n" "S2\n" Если бы это была иерархия наследования, я бы ожидал, что Swift б…
12 июл '16 в 15:04
6
ответов
Бесполезное переопределение: просто нонсенс / запах кода или еще больше зла?
Мы только что нашли следующие строки кода Java, @Override public String toString() { return super.toString(); } и начал размышлять. Это просто скучный бессмысленный запах кода или даже штраф за время выполнения?
09 авг '12 в 11:59
0
ответов
Как Ruby отправляет методы при вызове super?
Я провожу некоторое исследование внутренних методов вызова методов в некоторых объектно-ориентированных языках для хобби-проекта. Я обнаружил, что информацию о нормальной диспетчеризации довольно легко найти, но вызвать "суперметод" метода класса не…
22 сен '13 в 07:14
2
ответа
Обойти статические методы диспетчеризации Java без шаблонов Double Dispatch/Visitor
Я использую класс Foo что обеспечивает эти методы: String overloadedMethod(Object) String overloadedMethod(Goo) Поскольку Java статически отправляет аргумент не получателя, я не могу просто передать свой value (который является Object, но может имет…
16 дек '08 в 09:41
4
ответа
Отправка метода Java с нулевым аргументом
Почему (по-видимому) имеет значение, прохожу ли я null в качестве аргумента или передать Object что я присвоил значение null? Object testVal = null; test.foo(testVal); // dispatched to foo(Object) // test.foo(null); // compilation problem -> "The…
18 дек '08 в 08:28
2
ответа
Определить арность метода с помощью ключевых слов
Я разрабатываю приложение Ruby, в котором я динамически вызываю методы, основанные на данных JSON. Неплотно: def items # do something end def createItem( name:, data:nil ) # do something that requires a name keyword argument end def receive_json(jso…
02 авг '15 в 05:39
0
ответов
Что бы сделать виртуальный звонок быстрее обычного
Я знаю, что виртуальные вызовы, как правило, длиннее обычных, в основном потому, что перед любым виртуальным вызовом необходимо проверить VTable. Однако в последнее время у меня был случай (в огромном проекте), где удаление слова "виртуальный" из ме…
10 май '16 в 12:48
1
ответ
Как типы интерфейса загружаются в CLR?
Загружает ли CLR типы интерфейсов, если они не инициализированы конкретными реализациями? Учитывая интерфейс IFoo, который имеет реализацию FooImpl например IFoo foo; в отличие от IFoo foo = new FooImpl(); Будет ли CLR загружать IFoo Type только во …
08 авг '15 в 08:39
0
ответов
Python: Различают, вызван ли GET (Method-Dispatcher) AJAX или нет
Я застрял с проблемой, что я не могу отличить один и тот же метод перегрузки GET. Я использую Method-Dispatcher, поэтому у меня есть только методы GET, PUT, POST и DELETE. @cherrypy.expose @cherrypy.tools.json_out() @cherrypy.tools.json_in() def GET…
18 окт '14 в 08:35
4
ответа
Перегрузка - это полиморфизм времени компиляции. В самом деле?
Я знаю синтаксическую разницу между переопределением и перегрузкой. И я также знаю, что переопределение - это полиморфизм во время выполнения, а перегрузка - это полиморфизм во время компиляции. Но мой вопрос: "Является ли перегрузка действительно п…
02 дек '11 в 11:50
2
ответа
Найдите, какой метод WCF будет отправлять RESTful-запрос
Предположим, я внедряю службу WCF REST со следующим контрактом. [ServiceContract] interface INotesService { [OperationContract] [WebInvoke(Method = "GET", UriTemplate = "notes/{id}")] Note GetNote(string id); [OperationContract] [WebInvoke(Method = …
10 апр '13 в 20:56
1
ответ
Нарушена диспетчеризация параметров во время компиляции Java?
Я уже знаю, что Java отправляет методы, основанные на типах времени компиляции. Однако у меня есть случай, когда я ожидаю, что это сработает, но это не так. Рассмотрим этот простой пример: class Foo{ void bar(Object... objects) { //do something } vo…
23 июл '14 в 18:07
4
ответа
Когда я должен использовать @classmethod и когда метод def (self)?
При интеграции приложения Django, которое я раньше не использовал, я нашел два разных способа определения функций в классах. Автор, кажется, использует их оба преднамеренно. Первый, который я сам часто использую: class Dummy(object): def some_functi…
14 май '12 в 15:54
3
ответа
Динамическое связывание Java
Я готовлюсь к экзамену и обнаружил примерную проблему, которая полностью меня теряет. Для следующего кода найдите вывод: class Moe { public void print(Moe p) { System.out.println("Moe 1\n"); } } class Larry extends Moe { public void print(Moe p) { S…
16 мар '09 в 00:51
2
ответа
Функции Java 2 с сигнатурами суперкласса и подкласса - выбирает суперкласс, несмотря на то, что тип подкласса является подклассом
У меня есть следующий код: public class Main { public boolean equals(String other){ return other == new Object(); } public boolean equals(Object other){ return other == new Object(); } public static void main(String[] args){ String s = ""; Object b1…
16 июл '16 в 10:32
2
ответа
Почему цель для динамической отправки не определяется во время компиляции?
Сейчас я читаю книгу по Java и довольно долго застрял, размышляя о том, как работает Dynamic Method Dispatch. Я понимаю, что это мощная и ценная функция, но я не понимаю ее основной принцип. Например, у меня есть класс B, который наследуется от клас…
08 сен '14 в 15:43
1
ответ
Преобразование типов перед отправкой
Я определяю общую функцию genfun <- function(x, ...) UseMethod("genfun") которые должны иметь экземпляры tow: genfun.default (если x - матрица) genfun.formula (если x - формула) Это работает нормально, но теперь я хотел бы иметь это до отправки, …
17 июн '16 в 21:00
5
ответов
Использование -performSelector: против простого вызова метода
Я все еще новичок в Objective-C, и мне интересно, в чем разница между следующими двумя утверждениями? [object performSelector:@selector(doSomething)]; [object doSomething];
29 сен '09 в 15:01