Pessoal estou precisando fazer o seguinte. Como eu posso fazer para implementar ou herdar um classe em tempo de execução?
Por exemplo, eu tenho uma classe chamada pessoa.
public class Pessoa{
public Pessoa(){
}
}
E também uma interface, por exemplo
public interface Humano{
}
Como faço em tempo de execução a classe Pessoa implementar a interface Humano. Alguém tem alguma ideia, se posso usar algum framework ou utilizar a propria API Java para isso?
Você quer resolver aquele problema do personagem em jogos, que inicia como criança, e vai ganhando habilidades durante o jogo (por exemplo, torna-se adulto, então guerreiro ou mago, etc.).
Em Java você não pode mudar dinamicamente a classe de um objeto em tempo de execução, mas pode criar um atributo contendo uma lista de Habilidades (no caso do exemplo do personagem).
[quote=entanglement]Você quer resolver aquele problema do personagem em jogos, que inicia como criança, e vai ganhando habilidades durante o jogo (por exemplo, torna-se adulto, então guerreiro ou mago, etc.).
Em Java você não pode mudar dinamicamente a classe de um objeto em tempo de execução, mas pode criar um atributo contendo uma lista de Habilidades (no caso do exemplo do personagem). [/quote]
Não é isso que eu quero fazer, mas consegui resolver o meu problema com o framework Javassist.
Link: http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/tutorial/tutorial.html