Encapsulamento
Pilares do POO - Encapsulamento
Já imaginou, você instalar o MSN Messenger e ao querer enviar uma mensagem, fosse solicitado a você verificar se o computador está conectado a internet, e depois pedir para você salvar a mensagem no histórico? ou, se ao tentar enviar um SMS pelo celular, primeiro você precisasse consultar manualmente o seu saldo ?
Acredito que não seria uma experiência tão agradável de ser executada, recorrentemente, por nós usuários.
Mesmo ainda sendo necessária algumas etapas nos processos citados, não é um requisito uma visibilidade pública, isso quer dizer, além da própria classe que possui a responsabilidade de uma determinada ação.
Quanto ao MSN Messenger, para nós, só é relevante saber que podemos e como devemos enviar e receber a mensagem, logo, as demais funcionalidades poderão ser consideradas privadas (private). E é ai que se caracteriza a necessidade do pilar de Encapsulamento. O que esconder ?
Nem tudo precisa estar disponível para todos
Vamos a revisão de nossa implementação
/*
* Simulação do uso da classe MSNMessenger
*/
public class ComputadorPedrinho {
public static void main(String[] args) {
//abrindo MSN Messenger
MSNMessenger msn = new MSNMessenger();
msn.validarConectadoInternet();
msn.enviarMensagem();
msn.salvarHistoricoMensagem();
msn.receberMensagem();
}
}