| Linha 8: | Linha 8: | ||
= Exemplos de código = | = 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 = | = Referências Bibliográficas = | ||
Edição das 23h47min de 9 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 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.