Вопросы с тегом 'polymorphism'

В информатике полиморфизм - это функция языка программирования, позволяющая единообразно обрабатывать значения разных типов данных.
15 отв.

Когда использовать виртуальные деструкторы?

У меня есть глубокое понимание большинства теорий ОО, но одна вещь, которая меня смущает, - это виртуальные деструкторы. Я думал, что деструктор всегда получает вызов независимо от того, что и для каждого объекта в цепочке. Когда вы собираетесь сде...
20 янв. '09 в 15:58
17 отв.

Является ли List <Dog> подклассом List <Animal>? Почему Java-дженерики не являются неявно полиморфными?

Я немного озадачен тем, как дженерики Java обрабатывают наследование/полиморфизм. Предположим следующую иерархию - Животное (родитель) Собака - Кот (Дети) Предположим, у меня есть метод doSomething(List<Animal> animals). По всем правилам н...
30 апр. '10 в 17:39
28 отв.

Что такое полиморфизм, для чего он используется и как он используется?

Что такое полиморфизм, для чего он нужен и как он используется?
23 июня '09 в 11:14
21 отв.

Полиморфизм против переопределения и перегрузки

В терминах Java, когда кто-то спрашивает: что такое полиморфизм? Может ли приемлемый ответ перегрузка или переопределять? Я думаю, что это немного больше, чем это. ЕСЛИ у вас есть абстрактный базовый класс, который определил метод без реали...
30 сент. '08 в 22:29
4 отв.

Почему переопределенная функция в производном классе скрывает другие перегрузки базового класса?

Рассмотрим код: #include <stdio.h> class Base { public: virtual void gogo(int a){ printf(" Base :: gogo (int) \n"); }; virtual void gogo(int* a){ printf(" Base :: gogo (int*) \n"); }; }; class Derived : publ...
27 окт. '09 в 7:24
16 отв.

В чем основное отличие между наследованием и полиморфизмом?

Мне сегодня был представлен этот вопрос в конце экзамена по открытой книге модуля, и я оказался потерянным. Я читал Head first Java, и оба определения были точно такими же. Я просто задавался вопросом, что главное для моего разума. Я знаю, что есть ...
10 июня '11 в 18:00
2 отв.

Чистый виртуальный деструктор в С++

Неправильно ли писать: class A { public: virtual ~A() = 0; }; для абстрактного базового класса? По крайней мере, что компилируется в MSVC... Будет ли он работать во время выполнения?
10 марта '09 в 19:02
11 отв.

Переход в реализацию интерфейса в Eclipse IDE

Вы знаете, как в Eclipse нажатие F3 по методу приведет вас к его объявлению? Ну, у меня есть метод, который является частью интерфейса; нажатие F3 поверх этого, естественно, приводит меня к объявляющему интерфейсу. Очевидно, что существует объект, ...
15 июля '10 в 15:35
5 отв.

Список <Карта <String, String >> vs List <? расширяет карту <String, String >>

Есть ли разница между List<Map<String, String>> и List<? extends Map<String, String>> ? Если нет никакой разницы, в чем преимущество использования ? extends?
21 марта '12 в 21:15
9 отв.

Полиморфизм в С++

НАСКОЛЬКО МНЕ ИЗВЕСТНО: C++ предоставляет три различных типа полиморфизма. Виртуальные функции Перегрузка имени функции Перегрузка оператора В дополнение к вышеупомянутым трем типам полиморфизма существуют и другие виды полиморфизма: время выпо...
02 мая '11 в 10:35
8 отв.

Полиморфизм: зачем использовать "List list = new ArrayList" вместо "ArrayList list = new ArrayList"?

Возможный дубликат: Зачем нужен интерфейс для класса Java? Когда мне следует использовать List<Object> list = new ArrayList<Object>(); ArrayList наследуется от List, поэтому, если некоторые функции в ArrayList не находятся в L...
24 марта '12 в 18:18
8 отв.

Почему "ref" и "out" не поддерживают полиморфизм?

Возьмите следующее: class A {} class B : A {} class C { C() { var b = new B(); Foo(b); Foo2(ref b); // <= compile-time error: // "The 'ref' argument doesn't match the parameter type" } ...
30 июля '09 в 17:54
12 отв.

В Java, как мне вызвать метод базового класса из метода переопределения в производном классе?

У меня есть два класса Java: B, который расширяет другой класс A следующим образом: class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } } Я хотел бы назвать A.myMethod...
06 нояб. '08 в 17:45
7 отв.

Почему "чистый полиморфизм" предпочтительнее использования RTTI?

Почти каждый ресурс С++, который я видел, который обсуждает это, говорит мне, что я должен предпочесть полиморфные подходы к использованию RTTI (идентификация типа времени выполнения). В общем, я отношусь к этому совету серьезно, и попытаюсь понять е...
03 марта '16 в 9:40
8 отв.

Откуда происходят сбои "чистой виртуальной функции"?

Я иногда замечаю программы, которые сбой на моем компьютере с ошибкой: "чистый вызов виртуальной функции". Как эти программы даже компилируются, когда объект не может быть создан из абстрактного класса?
19 сент. '08 в 7:09