Propriedades de objetos

Quando um objeto for ser utilizado em alguma aplicação (por outro objeto, normalmente), a única informação necessária que deve ser conhecida é "o que podemos fazer com ele?", ou seja, qual o conjunto de operações associadas àquele objeto. As técnicas de programação orientada a objetos recomendam que a estrutura interna de um objeto e a implementação de seus métodos devem ser tão privativos como possível.

Há dois conceitos básicos associados a essa visão de um objeto. O primeiro está associado ao fato de que cada objeto é uma unidade que contém, internamente, toda a informação necessária para sua manipulação. Este é o princípio da encapsulação -- cada componente de um programa deve agregar toda a informação relevante para sua manipulação como uma unidade (uma cápsula).

O segundo conceito fundamental associado a um bom objeto é o ocultamento da informação. Em outras palavras, quem usa o objeto não precisa nem deve conhecer como o objeto mantém sua informação ou como uma operação é implementada -- cada componente de um programa deve manter oculta, sob sua guarda, esses aspectos relativos a decisões de projeto.

Na orientação a objetos, cada objeto deve ser manipulado exclusivamente através dos métodos públicos do objeto, dos quais apenas a assinatura deve ser revelada. O conjunto de assinaturas desses métodos constitui a interface operacional da classe. O programador trabalha em um nível alto de abstração, sem preocupação com os detalhes internos da classe, simplificando a construção de programas que incorporam funcionalidades complexas, tais como interfaces gráficas e aplicações distribuídas.