en C++ podemos escribir:herencia genérica en Java
#include <iostream>
class Base1
{
public: void test() { std::cout << "Base 1" << std::endl; }
};
class Base2
{
public: void test() { std::cout << "Base 2" << std::endl; }
};
template<class T>
class Derived: public T
{
};
int main()
{
Derived<Base1> d1;
Derived<Base2> d2;
d1.test();
d2.test();
}
Para obtener la herencia de plantilla.
¿Se puede hacer lo mismo en Java usando genéricos?
Gracias.
Editar: La adición de más información sobre mis intenciones
En mi escenario Tengo dos subclases, Sprite y AnimatedSprite (que es una subclase de Sprite). El siguiente paso es un PhysicalSprite que agrega física a los sprites, pero quiero que pueda heredar tanto de Sprite como de AnimatedSprite.
+1, ¡no sabía que las plantillas C++ podían hacer eso! (Esto podría usarse para lograr efectos como composición dinámica de mixin en Scala :) – missingfaktor
@missingfaktor: google para el patrón CRTP –
@Armen: Este no es un ejemplo de patrón CRTP. CRTP tiene una estructura general 'clase A: B ', que no es el caso con el código de OP. – missingfaktor