poo parte2

Post on 05-Aug-2015

12 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modificadores de acesso em c++

PROFESSOR: EDUARDO HABIB

HABIB@DIV.CEFETMG.BR

Introdução• Um dos fundamentos da orientação a objetos é evitar que classes tenham acesso a um código que não tenha a ver com sua lógica.

•Imagine a classe Corpo, que possui massa, volume e consequentemente densidade. • Se alterarmos a massa de um corpo sem alterarmos a densidade, criamos uma

inconsistência dentro da classe.

• Logo esse é um caso em que não podemos permitir livre acesso a esses campos.

Introduçãoclass Corpo{private:float massa;float densidade;float volume;

public:Corpo(float massa, float volume) {

this->massa = massa;this->volume = volume;densidade = massa / volume;

}};

Modificador Private•O construtor define o valor da densidade logo na criação do objeto.

•O modificador private impede que qualquer código externo à própria classe Corpo tenha acesso aos campos de Corpo

•Acesso através de métodos públicos:

float getMassa(){

return massa;}float getVolume(){

return volume;}float getDensidade(){

return densidade;}

void SetMassa(float massa)

{

this->massa = massa;

densidade = massa / volume;

}

void SetVolume(float volume)

{

this->volume = volume;

densidade = massa / volume;

}

Modificador Protected• O Modificador de acesso Protected está relacionado à Herança e veremos

mais detalhes sobre ele quando formos estudar Herança.• Ele torna os atributos da classe pai acessíveis para as classes filhas

StaticPodemos distinguir variáveis em dois tipos:• De instância; cada objeto possui uma cópia distinta desta variável

• De classe, só existe uma por classe.

Qual a palavra reservada para fazer essa distinção?• Static

• Exemplo: Classe Pais

top related