Download - Poo parte2

Transcript
Page 1: Poo parte2

Modificadores de acesso em c++

PROFESSOR: EDUARDO HABIB

[email protected]

Page 2: Poo parte2

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.

Page 3: Poo parte2

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;

}};

Page 4: Poo parte2

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;

}

Page 5: Poo parte2

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

Page 6: Poo parte2

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