Boa tarde pessoal,
alguem sabe indicar algum material, tópico, site ou mesmo queira deixar seu comentário sobre como ocorre a troca de mensagem entre os objetos?
Pode ser em qualquer linguagem orientada a objetos.
t+
Boa tarde pessoal,
alguem sabe indicar algum material, tópico, site ou mesmo queira deixar seu comentário sobre como ocorre a troca de mensagem entre os objetos?
Pode ser em qualquer linguagem orientada a objetos.
t+
Acredito que qualquer apostila na web que fala de orientação a objetos poderá te ajudar nisso.
Dá uma olhada nesse artigo do Guj: http://www.guj.com.br/articles/149
Pior que não!!!
Já pesquisei um monte e nada de tratar desse assunto. O máximo que encontrei foram comentários que dizem: “objetos se comunicam através de mensagens”.
Inclusive nesta que me passou num tem mais que duas ocorrências da palavra “mensagem”.
Ou seja, não é tão fácil quanto parece.
Oi,
Como assim? Algo relacionado a socket? Ou estou boiando?
Tchauzin!
A troca de mensagens ocorre através da chamada aos métodos de um objeto por outro objeto.
Exemplo
public class Relatorio {
...
public void imprimirTitulo(String titulo){
formulario.Imprimir(posicaoX, posicaoY, Alinhamento.CENTRAL, titulo);
}
...
}
No exemplo acima o Objeto Relatorio passa uma mensagem para o objeto formulario utilizando a função imprimir deste.
Sempre que você chama um método de um objeto você está passando uma mensagem. Alguns métodos não tem retorno então é como você fala-se “objeto faz isso”, outros métodos vão te retornar algo então seria como você fala-se “objeto me responde o que te pedi”
Estude um pouco da arquitetura Swing talvez fique mais claro. O que acontece é que este conceito é intrínseco na orientação a objetos.
Segue um trecho do Wikipedia:
Link para referência:
Boa X@ndy, lina e otavio…
Deixa ser mais claro…
O que preciso é a parte teórica… o que ocorre por trás, nos bastidores? Como um objeto se comunica com outro objeto? Como ocorre essa troca de mensagem? O que é realmente esta mensagem?
E outra, não precisa estar ligado a Java. Pode ser qualquer outra linguagem OO ou pode ser genérico (para qualquer linguagem OO).
O Shoes da uma explica do que o ocorre nos a bastidores com um metamodelo aqui
Como eu te disse a comunicação (em java) se da pela troca de mensagens ou seja quando um objeto chama um método de outro objeto
A mensagem é justamente o que tu quer objeto faça! No exemplo o objeto relatório quer que o objeto formulário imprima uma string em determinada posição. Não interessa como o objeto formulário vai fazer isso, ele simplesmente quer seja feito então ele passa para este os dados que ele necessita que seja impresso, a posição que deve ser impresso esses dados e o alinhamento. Podemos considerar que método imprimir é o “papel da mensagem” e os parâmetros (x, y, Alinhamento, texto) são as palavras escritas nesse papel. O objeto formulário ao receber “o papel com a mensagem vai ler o que está escrito e fazer algo”, ou seja a implementação do método imprimir toma alguma ação com base nos parâmetros recebidos.
A troca de mensagens é um conceito abstrato.
[quote=AGAraujo]Boa X@ndy, lina e otavio…
Deixa ser mais claro…
O que preciso é a parte teórica… o que ocorre por trás, nos bastidores? Como um objeto se comunica com outro objeto? Como ocorre essa troca de mensagem? O que é realmente esta mensagem?
E outra, não precisa estar ligado a Java. Pode ser qualquer outra linguagem OO ou pode ser genérico (para qualquer linguagem OO).
[/quote]
Ao meu ver, não importa como os objetos se comunicam, pelo menos em Java, isso é da própria linguagem, contanto que eles se comuniquem pra mim está ótimo. Não sei em relação as outras linguagens de programação orientada a objetos, não sei como isso funciona por trás, pelo bastidores.
Como todos comentaram acima, as mensagens entre os objetos são chamadas de métodos entre os objetos, na Java a explicação do x@ndy é a mais completa, mas é exata.
[]´s
Que isto Rafael!!!
Seu comentário é para classificar e eliminar o que uma pessoa deve ou não aprender?
Se estou aqui a questionar isto é porque existe importânica, “ao meu ver”.
Com base em meu último post, gostaria de saber se você entendeu o conceito de mensagem antes de mais nada?
O Shoes da uma explica do que o ocorre nos a bastidores com um metamodelo aqui
Como eu te disse a comunicação (em java) se da pela troca de mensagens ou seja quando um objeto chama um método de outro objeto
A mensagem é justamente o que tu quer objeto faça! No exemplo o objeto relatório quer que o objeto formulário imprima uma string em determinada posição. Não interessa como o objeto formulário vai fazer isso, ele simplesmente quer seja feito então ele passa para este os dados que ele necessita que seja impresso, a posição que deve ser impresso esses dados e o alinhamento. Podemos considerar que método imprimir é o “papel da mensagem” e os parâmetros (x, y, Alinhamento, texto) são as palavras escritas nesse papel. O objeto formulário ao receber “o papel com a mensagem vai ler o que está escrito e fazer algo”, ou seja a implementação do método imprimir toma alguma ação com base nos parâmetros recebidos.
A troca de mensagens é um conceito abstrato.[/quote]
Show de bola!!!
Sabes onde posso encontrar a referência bibliografica que explica isto?
Não é que eu não entenda dos conceitos de mensagem. É que não consegui material bibliográfico que trate deste assunto, pois o meu trabalho precisa de referência bibliográfica. Entendeu?
Bah, não tem uma referência bibliográfica dizendo isso tão diretamente como te expliquei, como disse é um conceito abstrato. Todos os livros que li sobre OO falam um pouco sobre isso mas o conceito de mensagem é íntrinseco nesses livros, também fiquei em dúvida até entender bem o que eles queriam dizer com “mensagem”.
Você pode ler os livros dos irmãos Deitel sobre java e c++, mas a explicação mais sucinta ainda tá na Wikipédia
Como disse esses livros falam sobre isso o AGAraujo falou que também leu sobre isso, e tem a Wikipédia ai também.
Qualquer livro sobre OO objetos fala sobre isso tente pegar um mais direto, que não envolva programação, como o Aplicando UML e Padrões do Larman.
AGAraujo
O Java não se comporta 100% orientado à objetos como no SmallTalk.
Java também é uma LINGUAGEM IMPERATIVA onde os comandos são parte fundamental da linguagem.
No java um método de um objeto vai chamar ( isso mesmo ) um método de outro objeto através de um ponteiro e esse novo método será empilhado no stack. Nada muito diferente do que acontece em C ou C++.
No SmallTalk que é 100% orientado a objetos não existe essa história de chamar/invocar nada… pois TUDO é objeto, portanto os objetos ficam trocando mensagens entre eles.
Em smallTalk o primeiro ‘1’ é um objeto que está recebendo uma mensagem ‘+’ e como parâmetro está recebendo um outro objeto ‘1’.
Eu vou procurar algum material de referência pra você… mas saiba que o java não tem essa mágia de “Troca de Mensagem”.
Bom, obrigado X@ndy…
o meu maior problema é encontrar algo fundamentado…
os conceitos encontrei em livros diversos sobre OO, mas são muito vagos…
Encontrei até no slideshare que trata bem melhor disso, mas ainda sim não é considerado como fundamentação para o estudo…
Ou seja, na internet encontrei explicações melhores que nos livros que pesquisei, mas não consigo fundamentar pois blogs e wikis não são aceitos como referencia válida de conteúdo (aqui).
Se lembrar de alguma referência que trate melhor do assunto agradeço.
[quote=Cofor]AGAraujo
O Java não se comporta 100% orientado à objetos como no SmallTalk.
Java também é uma LINGUAGEM IMPERATIVA onde os comandos são parte fundamental da linguagem.
No java um método de um objeto vai chamar ( isso mesmo ) um método de outro objeto através de um ponteiro e esse novo método será empilhado no stack. Nada muito diferente do que acontece em C ou C++.
No SmallTalk que é 100% orientado a objetos não existe essa história de chamar/invocar nada… pois TUDO é objeto, portanto os objetos ficam trocando mensagens entre eles.
Em smallTalk o primeiro ‘1’ é um objeto que está recebendo uma mensagem ‘+’ e como parâmetro está recebendo um outro objeto ‘1’.
Eu vou procurar algum material de referência pra você… mas saiba que o java não tem essa mágia de “Troca de Mensagem”.[/quote]
Show de bola cara!!!
É disso que estou falando. Veja ai qual o material possui estas explicações.
Aguardo e, desde já, agradeço!!!
http://www.inf.ufsc.br/poo/smalltalk/ibm/
http://www.mactech.com/articles/mactech/Vol.10/10.10/LearningSmalltalk/
Eu não sei os detalhes por debaixo da teoria, desculpe, mas o que acontece em linguagens puras OO os métodos estão definidos na classe e o que chega pra elas é a mensagem acompanhada ou não de algum parâmetro para que o método seja executado.
Eu tinha algumas referências no moodle do mackenzie… mas já faz tempo pra caceta, vou ver se lembro se tinha algum livro.
Você acha que em C# é possível encontrar esta teoria sobre “Troca de Mensagem”?