Na verdade o negocio funciona mais ou menos assim:
Na sua aplicacao vc possui classes e objetos responsaveis pela logica da
aplicacao e outras classes e objetos chamadas de meta-classes e
meta-objetos que tem a capacidade de obter informacoes sobre as classes e
objetos do nivel base (aquelas responsaveis pela logica da aplicacao).
Estes meta-objetos podem obter informacoes sobre a estrutura e sobre o
comportamento dos objetos-base.
Atraves de um Meta Protocolo toda mensagem enviada ao objeto base eh
interceptada pelo meta-objeto correspondente, e pode durante a execucao da
aplicacao mudar a sua estrutura e seu comportamento, conforme estipulado
pelo meta-objeto (isso que eh o mais interessante !! Mudar o comportamento
e a estrutura de um programa em tempo de execucao).
Este conceito tem uma grande utilidade para sistemas com grande
complexidade, pois pode dividir os conceitos funcionais dos nao funcionais
em niveis. E implementado em sistemas de tempo real, de tolerancia a
falhas e distribuidos.
Porem, todos estes conceitos sao muito bonitos, mas nao existe uma
linguagem de programacao que implemente totalmente os conceitos de
reflexao estrutural, comportamento e o protocolo de comunicacao. Uma
alternativa eh a nossa querida linguagem Java, que na sua ultima versao do
Jdk implementa reflexao estrutural sem o conceito de meta protocolo
atraves da package java.lang.reflect.
Para tornar possivel a completa utilizacao dos conceitos de reflexao
computacional utilizando a linguagem Java eh necessario utilizar um
pre-processador, chamado OpenJava, que interpreta o codigo com construcoes
reflexidas transformando-o em codigo nativo da linguagem que pode ser
interpretado por qualquer maquina virtual Java.
Outra alternativa eh o pre-processadore Open C++, mas eu prefiro Java.
O negocio eh bem interessante, quem tiver algumas ideias para serem
trocadas, assim como duvidas (se eu puder ajudar), estou a disposicao.
At+ !
On Tue, 29 Feb 2000, Rodrigo Moro wrote:
> Bom, nao sei a definicao oficial de reflexao, mas sei como usa-la e para que serve:
> Basicamente, a reflexao permite que vc tenha um objeto de qualquer classe e possa
>(sem conhecer nem a classe do objeto) descobrir quais sao os metodos (acho que soh os
>publicos, nao tenho certeza), campos, construtores, etc. da classe e invocar esses
>metodos e obter os valores dos campos de um objeto.
> Parece magica, ne? Mas eh real...
> Mais informacoes, vide tutorial do Java (da Sun)...
> *********** REPLY SEPARATOR ***********
> On 28/02/2000, at 20:22, Israel wrote:
> >Gostaria de Saber tamb�m. O que 'reflex�o sobre Objetos??
> >
> > Seria possivel uma explica��o sucinta, ou um texto explicativo?
>
> --------------------------- LISTA SOUJAVA ---------------------------
> http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
> [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> ---------------------------------------------------------------------
>
Fabricio Jailson Barth
Ciencias da Computacao
Universidade Regional de Blumenau
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------