Em Classes e Objetos em Java, foi apresentado o conceito de MÉTODO, ou seja, comportamentos que as classes de um sistema podem ter.
É por meio dos métodos que as classes, ou melhor, os objetos das classes de sistema orientado a objetos vão se comunicar quando o sistema estiver em execução.
Por isto, os métodos também podem ser chamados de mensagens, operações e até mesmo interfaces, pois são eles que viabilizam a troca de informações entre as instâncias das classes.
A forma mais básica de comunicação entre objetos é a partir da criação de instâncias.
Ao criar um novo objeto em Java, utilizamos a instrução new NomeDaClasse(), esta instrução é um método oculto que toda classe possui que permite a criação de objetos da classe a partir das definições da mesma.
Tal método é chamado Método Construtor (estudaremos mais sobre ele) e por default toda classe possui.
Nos exemplos anteriores (Bola, Pessoa, Triângulo), observamos a criação de instâncias de classes conceituais somente a partir do uso da instrução new NomeDaClasse() na classe principal executável. Porém, esta não é uma regra.
O exemplo a seguir ilustra a criação de classes conceituais apenas a partir da classe principal em um sistema de um "Jogo da #".
Entretanto, é possível criar instâncias de classes conceituais a partir de quaisquer classes do sistema, conforme as possibilidades ilustradas nos exemplos 2 e 3.
Tudo irá depender dos objetivos do sistema e de como desejamos representar o processo de abtração do mesmo.
Jogo da # - exemplo 2. Fonte: Autoral, feito com Canva para Educação.
Jogo da # - exemplo 3. Fonte: Autoral, feito com Canva para Educação.
A troca de mensagens ou de informações entre objetos, nada mais é do que a chamada de um método de uma classe por uma instância de outra classe.
No exemplo anterior da classe Triângulo, observamos a chamada do método calcularArea() da classe Triangulo a partir da classe principal. Assim, estes objetos se comunicaram, ou seja, trocaram informações.
No exemplo do "Jogo da #", assumindo que a classe Tabuleiro possua o método marcarPosicao(int x, int y, Jogador jogador), a chamada deste método, ou seja, a comunicação entre as classes, vai variar de acordo com cada exemplo:
Exemplo 1: Principal chama Tabuleiro
Exemplo 2: Principal chama Partida passando as informações de Jogador e, então, Partida chama Tabuleiro
Exemplo 3: Partida chama Tabuleiro
Os métodos e a comunicação entre objetos irá influenciar diretamente em propriedades dos sistemas orientados a objetos, tais como a Coesão e o Acoplamento.
Voltar para Aulas