Também conhecido com encapsulamento

Conceito

Encapsulamento, em linguagens orientadas a objeto (modelo de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos), é a capacidade de ocultação de detalhes de implementação por parte de entidades de manipulação de dados. Esta característica visa prover um meio de manter cada classe responsável por operações a elas atribuídas sem interferências externas. Com essa característica é possível manter os indivíduos de cada classe com funções bem delimitadas e criar meios de criar módulos onde cada classe faça bem aquilo de que está encarregada, tendo total controle sobre tais operações.

Acessos

O acesso é restringido de acordo com atributos, tais como: private, public ou protected. Cada atributo oferece um nível de ocultação para membros de classes. Eles são usados para assegurar que apenas grupos identificados de código tenham acesso a partes presselecionadas da classe. Os níveis de proteção estão ligados ao parentesco do código que pretende acesso com a classe em que os mesmos estão definidos.

Exemplos de código

Exemplo 01:

class veiculo {

 string cor;

 protected:
   string combustivel;
 public:
 bool altCor( string c )
      { if ( c == "vermelho" )
          { cor = c;
            return true;
          } 

        if ( c == "azul" )
          { cor = c;
            return true;
          } 

        if ( c == "prata" )
          { cor = c;
            return true;
          }

       return false; 
      }

}; class carro : public veiculo {

int nrodas;
int mover( int nkilometros );

};


Exemplo 02:

class Conta {

 private double saldo;
 
 public void Saca(double valor) {
   this.saldo -= valor;
 }
 
 public void Deposita(double valor) {
   this.saldo += valor;
 }

}

Referências Bibliográficas

1 - Michael Lee Scott, Programming language pragmatics, Edition 2, Morgan Kaufmann, 2006, ISBN 0126339511, p. 481.
Pesquisa válida apenas em Livros, Artigos ou Revistas.