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 - http://pt.wikibooks.org/wiki/Wikilivros:Livros/Programar_em_C%2B%2B; 2 - http://www.caelum.com.br/apostila-csharp-orientacao-objetos/encapsulamento-e-modificadores-de-acesso/
Pesquisa válida apenas em Livros, Artigos ou Revistas.