Articles of polymorphism

Ejecutar una aplicación en GDB hasta que ocurra una excepción

Estoy trabajando en una aplicación multiproceso, y quiero depurarlo usando GDB. El problema es que uno de mis hilos sigue muriendo con el mensaje: pure virtual method called terminate called without an active exception Abort Sé la causa de ese mensaje, pero no tengo idea de dónde se produce en mi hilo. Un backtrace realmente […]

La mejor forma de cambiar el comportamiento según el tipo

Posible duplicado: C # – ¿Hay una mejor alternativa que esta para ‘encender el tipo’? Considera el clásico: class Widget { } class RedWidget : Widget { } class BlueWidget : Widget { } En su mayor parte, en mi interfaz de usuario, puedo tratar todos los Widget la misma manera. Sin embargo, hay pequeñas […]

¿Cómo puedo usar atributos polimórficos con boost :: spirit :: qi parsers?

Me gustaría que mi analizador boost :: spirit-based pueda analizar un archivo, convertir las reglas analizadas en diferentes tipos y emitir un vector que contenga todas las coincidencias encontradas. Todos los tipos que se emiten como atributos se deben heredar de un tipo base, por ejemplo: #include #include #include #include struct CommandBase { virtual void […]

¿De qué sirve decir en lugar de

Así que estaba revisando un código Java y tropecé con: List l; básicamente esta lista acepta todos los objetos que son algún tipo de SomeObject – SomeObject o sus herederos. Pero de acuerdo con el polymorphism, sus herederos también se pueden ver como SomeObject, así que esto también funcionaría: List l; Entonces, ¿por qué alguien […]

Progtwigción If-less (básicamente sin condicionales)

He tenido un colega que me dijo que una vez trabajó para una compañía que tenía como política no tener condicionales (declaraciones “si” y “cambiar”) en el código y que dejaran que todas las decisiones en el código se hicieran usando polymorphism y (supongo) algunos otros principios OO. Entiendo el razonamiento detrás de esto, de […]

Error del comstackdor: referencia a llamada ambigua

Caso 1 static void call(Integer i) { System.out.println(“hi” + i); } static void call(int i) { System.out.println(“hello” + i); } public static void main(String… args) { call(10); } Salida del Caso 1: hello10 Caso 2 static void call(Integer… i) { System.out.println(“hi” + i); } static void call(int… i) { System.out.println(“hello” + i); } public static […]

¿Cuándo usar las enumeraciones y cuándo reemplazarlas con una clase con miembros estáticos?

Recientemente se me ocurrió que la siguiente enumeración (de muestra) … enum Color { Red, Green, Yellow, Blue } … podría ser reemplazado con una clase aparentemente más segura para el tipo: class Color { private Color() { } public static readonly Color Red = new Color(); public static readonly Color Green = new Color(); […]

Polimorfismo en las anotaciones de jackson: uso de @JsonTypeInfo

Me gustaría saber si la anotación @JsonTypeInfo se puede usar para las interfaces. Tengo un conjunto de clases que deben serializarse y deserializarse. Esto es lo que trato de hacer. Tengo dos clases de implementación Sub1 , Sub2 implementando MyInt . Algunas de las clases modelo tienen la referencia de interfaz para los tipos de […]

¿Cómo puedo almacenar objetos de diferentes tipos en un contenedor de C ++?

¿Existe un contenedor C ++ que pueda usar o construir que pueda contener, por ejemplo, int y string y tipos double ? El problema al que me enfrento es que cada vez que trato de poblar, por ejemplo, un mapa, vector o lista con, digamos, lo siguiente: int x; string y; double z; Estoy restringido […]

C #: ¿La varianza (covarianza / contravarianza) es otra palabra para polymorphism?

Estoy tratando de entender el significado exacto de las palabras Covariance y Contravariance de varios artículos en línea y preguntas sobre StackOverflow, y por lo que puedo entender, es solo otra palabra para polymorphism . ¿Estoy en lo correcto con la statement anterior? ¿O lo he entendido mal?