• 0
Sign in to follow this  
Inufelipe

Private: Priva Do Que ? De Mim Mesmo ?

Question

3 answers to this question

Recommended Posts

  • 0

O modificador Private impede que outras classes acessem a variavel (ou funcao) de forma direta. Isso é bom pra voce garantir a integridade dos dados dentro da classe. Por exemplo, voce pode não querer que um programador que esteja usando uma classe sua para Pilha tenha acesso aos dados dentro da pilha. Apenas as operacoes de uma pilha (empilha, desempilha, olha o topo, etc). Assim voce garante que ela ira cumprir suas funcoes. Voce tambem impede que o codigo dos outros fiquem dependentes da forma como sua classe esta implementada pois se ele for obrigado a usar setters e getters, quando voce modificar a estrutura da sua classe, voce tambem modifica os setters e getters e assim o codigo dele não precisa ser modificado.

Share this post


Link to post
Share on other sites
  • 0

A explicação do Jonas, Inufelipe, se refere ao fato de privar *membros* da classe. Por exemplo:

Eu crio uma classe para representar automovéis. Nessa classe, eu possuo o método (um método é uma ação que objeto pode fazer) "Ligar". Porém, ligar um carro, depende de outras ações como, por exemplo, acionar bomba de gasolina. Sendo assim:

class Carro

{

public:

void Ligar()

{

if(!ligado) {

.

.

AcionarBombaGasolina();

.

.

ligado = true; }

}

private:

bool ligado;

void AcionarBombaGasolina()

{

.

.

.

}

.

.

.

};

Observe: além de ter métodos privados, posso ter "variáveis pública" na classe (nesse caso, como estamos falando de classes, chamadas de "campos"). Ou seja, observe que minha classe fornece membros (nesse caso, apenas o método "Ligar") externos (públicos) para uso da classe por você ou outro programador e também membros privados (nesse caso, campo "ligado" e método "AcionarBombaGasolina") que possuem função de cuidar da estrutura interna da minha classe e, por isso, não deve ser expostos, já que o funcionamento correto da classe, nesse caso, depende dos métodos privados (além da semântica da classe ficar muito mais legível).

Bom, qualquer dúvida, pergunte. Falows!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this