Linha 61: Linha 61:
= Referências Bibliográficas =
= Referências Bibliográficas =


1 - http://pt.wikibooks.org/wiki/Wikilivros:Livros/Programar_em_C%2B%2B;
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/
2 - http://www.caelum.com.br/apostila-csharp-orientacao-objetos/encapsulamento-e-modificadores-de-acesso/


  Pesquisa válida apenas em Livros, Artigos ou Revistas.
  Pesquisa válida apenas em Livros, Artigos ou Revistas.

Edição das 00h00min de 10 de novembro de 2014

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, protected, internal ou protected internal. 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.