Вопросы с тегом «polymorphism»

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

3
Будет ли GetType () возвращать наиболее производный тип при вызове из базового класса?
Будет ли GetType () возвращать наиболее производный тип при вызове из базового класса? Пример: public abstract class A { private Type GetInfo() { return System.Attribute.GetCustomAttributes(this.GetType()); } } public class B : A { //Fields here have some custom attributes added to them } Или я должен просто создать абстрактный метод, …


6
Какова цель Rank2Types?
Я не очень разбираюсь в Haskell, поэтому это может быть очень простой вопрос. Какие языковые ограничения снимает Rank2Types ? Разве функции в Haskell не поддерживают полиморфные аргументы?

12
Как реализованы виртуальные функции и vtable?
Все мы знаем, что такое виртуальные функции в C ++, но как они реализованы на глубоком уровне? Можно ли изменить vtable или даже получить к ней прямой доступ во время выполнения? Существует ли vtable для всех классов или только для тех, у которых есть хотя бы одна виртуальная функция? Имеют …

7
Почему «чистый полиморфизм» предпочтительнее использования RTTI?
Почти каждый ресурс C ++, который я видел, где обсуждаются подобные вещи, говорит мне, что я должен предпочесть полиморфные подходы к использованию RTTI (идентификация типа во время выполнения). В общем, я серьезно отношусь к такому совету и постараюсь понять логику - в конце концов, C ++ - могущественный зверь, и …
106 c++  polymorphism  rtti 

8
Откуда берутся сбои «вызова чисто виртуальной функции»?
Я иногда замечаю программы, которые вылетают на моем компьютере с ошибкой: «вызов чистой виртуальной функции». Как эти программы вообще компилируются, если объект не может быть создан из абстрактного класса?

9
Полиморфизм с gson
У меня проблема с десериализацией строки json с помощью Gson. Я получаю массив команд. Команда может быть запуском, остановкой или другим типом команды. Естественно у меня есть полиморфизм, и команда запуска / остановки наследуется от команды. Как я могу сериализовать его обратно в правильный командный объект с помощью gson? Кажется, …

4
Запускать приложение в GDB до возникновения исключения
Я работаю над многопоточным приложением и хочу отлаживать его с помощью GDB. Проблема в том, что одна из моих тем продолжает умирать с сообщением: pure virtual method called terminate called without an active exception Abort Я знаю причину этого сообщения, но понятия не имею, где оно происходит в моей цепочке. …

9
Как избежать instanceof в Java
Наличие цепочки операций instanceof считается «запахом кода». Стандартный ответ - «использовать полиморфизм». Как бы я это сделал в таком случае? Есть несколько подклассов базового класса; ни один из них не находится под моим контролем. Аналогичная ситуация была бы с классами Java Integer, Double, BigDecimal и т. Д. if (obj instanceof …

6
Что такое полиморфизм в Javascript?
Я прочитал возможную статью о полиморфизме, которую смог найти в Интернете . Но я думаю, что не мог полностью понять значение этого и его важность. В большинстве статей не говорится, почему это важно и как добиться полиморфного поведения в ООП (конечно, в JavaScript). Я не могу привести пример кода, потому …

6
Как смоделировать RESTful API с наследованием?
У меня есть иерархия объектов, которую мне нужно раскрыть через RESTful API, и я не уверен, как должны быть структурированы мои URL-адреса и что они должны возвращать. Я не смог найти лучших практик. Скажем, у меня есть собаки и кошки, унаследованные от животных. Мне нужны CRUD-операции собакам и кошкам; Я …

30
Полиморфизм - определение всего в двух предложениях [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 5 лет назад . Уточните этот вопрос Я просмотрел другие определения и объяснения, и ни одно …

2
Инициализация переменной Kotlin для дочернего класса ведет себя странно для инициализации переменной со значением 0
Я создал следующую иерархию классов: open class A { init { f() } open fun f() { println("In A f") } } class B : A() { var x: Int = 33 init { println("x: " + x) } override fun f() { x = 1 println("x in f: "+ …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.