Articles of polymorphism

¿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?

Deserializar JSON con Jackson en tipos polimórficos: un ejemplo completo me da un error de comstackción

Estoy intentando trabajar a través de un tutorial del Progtwigdor Bruce que se supone que permite la deserialización de JSON polimórfico. La lista completa se puede encontrar aquí Tutoriales de Bruce del progtwigdor (Cosas grandiosas por cierto) He trabajado en los primeros cinco sin problemas, pero he encontrado un problema en el último (Ejemplo 6), […]

Método virtual privado en C ++

¿Cuál es la ventaja de hacer que un método privado sea virtual en C ++? Lo he notado en un proyecto C ++ de código abierto: class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr createElement(const AtomicString& tagName, ExceptionCode&); };

¿Por qué los valores polimórficos no se infieren en Haskell?

Los literales numéricos tienen un tipo polimórfico: *Main> :t 3 3 :: (Num t) => t Pero si enlace una variable a tal literal, el polymorphism se pierde: x = 3 … *Main> :tx x :: Integer Si defino una función, por otro lado, es por supuesto polimórfica: fx = 3 … *Main> :tf f […]

Scala: ¿cómo definir parámetros de función “generics”?

Estoy tratando de aprender Scala ahora, con un poco de experiencia en Haskell. Una cosa que me llamó la atención es que todos los parámetros de función en Scala deben ser anotados con un tipo, algo que Haskell no requiere. ¿Por qué es esto? Para tratar de ponerlo como un ejemplo más concreto: una función […]

Polimorfismo: definir en solo dos oraciones

Miré otras definiciones y explicaciones y ninguna de ellas me satisface. Quiero ver si alguien puede definir el polymorphism en un máximo de dos oraciones sin usar ningún código o ejemplos. No quiero escuchar ‘Así que tienes una persona / automóvil / abrelatas …’ o cómo se deriva la palabra (a nadie le impresiona que […]

Vector de objetos que pertenecen a un rasgo

Considera el siguiente código: trait Animal { fn make_sound(&self) -> String; } struct Cat; impl Animal for Cat { fn make_sound(&self) -> String { “meow”.to_string() } } struct Dog; impl Animal for Dog { fn make_sound(&self) -> String { “woof”.to_string() } } fn main () { let dog: Dog = Dog; let cat: Cat = […]