Articles of polymorphism de

Java getMethod con parámetro de subclase

Estoy escribiendo una biblioteca que utiliza la reflexión para buscar y llamar a los métodos de forma dinámica. Dado solo un objeto, un nombre de método y una lista de parámetros, necesito llamar al método dado como si la llamada al método estuviera explícitamente escrita en el código. He estado usando el siguiente enfoque, que […]

¿Eliminar funciona con punteros a la clase base?

¿Tiene que pasar eliminar el mismo puntero que fue devuelto por nuevo, o puede pasarlo un puntero a uno de los tipos básicos de clases? Por ejemplo: class Base { public: virtual ~Base(); … }; class IFoo { public: virtual ~IFoo() {} virtual void DoSomething() = 0; }; class Bar : public Base, public IFoo […]

Java: deserialización JSON polimórfica Jackson de un objeto con una propiedad de interfaz?

Estoy usando el ObjectMapper de Jackson para deserializar una representación JSON de un objeto que contiene una interfaz como una de sus propiedades. Una versión simplificada del código se puede ver aquí: https://gist.github.com/sscovil/8735923 Básicamente, tengo un Asset clase con dos propiedades: type y properties . El modelo JSON se ve así: { “type”: “document”, “properties”: […]

c ++: ¿puede el vector contener objetos del tipo Derivado?

El título lo dice todo. Básicamente, ¿es legal hacer esto? class Base { //stuff } class Derived: public Base { //more stuff } vector foo; Derived bar; foo.push_back(bar); Basado en otras publicaciones que he visto, lo siguiente está bien, pero no quiero usar punteros en este caso porque es más difícil hacerlo seguro. vector foo; […]

Vectores y polymorphism en C ++

Tengo una situación complicada Su forma simplificada es algo como esto class Instruction { public: virtual void execute() { } }; class Add: public Instruction { private: int a; int b; int c; public: Add(int x, int y, int z) {a=x;b=y;c=z;} void execute() { a = b + c; } }; Y luego en una […]

¿Por qué no puedes reducir la visibilidad de un método en una subclase Java?

¿Por qué el comstackdor da un mensaje de error cuando reduce la visibilidad de un método al anularlo en la subclase?

Anulando la función sobrecargada de una base en C ++

Posible duplicado: Resolución de sobrecarga de C ++ Me encontré con un problema en el que, después de que mi clase anulara una función de su clase base, todas las versiones sobrecargadas de las funciones se ocultaban. ¿Esto es por diseño o simplemente estoy haciendo algo mal? Ex. class foo { public: foo(void); ~foo(void); virtual […]

¿Es posible el polymorphism sin herencia?

En una entrevista, me preguntaron si el polymorphism se puede lograr sin herencia. es posible?

¿Cuál es el propósito de Rank2Types?

No soy muy hábil en Haskell, así que esta podría ser una pregunta muy fácil. ¿Qué limitación de idioma resuelve Rank2Types ? ¿Las funciones en Haskell ya no admiten los argumentos polimórficos?

Polimorfismo de plantillas C ++

Tengo esta estructura de clases. class Interface{ … } class Foo : public Interface{ … } template class Container{ … } Y tengo este constructor de alguna otra clase de Bar. Bar(const Container & bar){ … } Cuando llamo al constructor de esta manera, aparece el error “no matching function”. Container container (); Bar * […]