AULA 7 - Programação II - Graduação
Separando a interface da implementação
Conforme tudo que já foi descrito até o momento, o objetivo maior do encapsulamento de classes é preservar o sigilo acerca do código que vai ser implementado na classe.
Assim, é necessário que as classes sejam códigos independentes e fechados, que chamamos de IMPLEMENTAÇÃO DA CLASSE, compilados separadamente do restante do código-"cliente" (que serve de entrada/saída de dados com o usuário - INTERFACE COM O USUÁRIO), mas rodados juntos, linkados, para que funcionem conjuntamente.
O código-cliente vai ter acesso apenas aos Métodos e Atributos públicos dos objetos.
- Métodos Públicos: são também chamados de INTERFACES DA CLASSE, pois serão usados diretamente pelos CLIENTES (programas usuários) para manipular os dados da classe.
A interface da classe normalmente é publicada na forma de Cabeçalhos (protótipos), em um arquivo de cabeçalho (*.h), fornecido junto com o executável da classe.
Exemplo:
/* horario1.h - Declaração da classe Horario */
#ifndef HORARIO1_H
#define HORARIO1_H
class Horario
{ public:
Horario( );
void SetaHora(int, int, int);
void ImprimeMilitar( );
void ImprimePadrao( );
private:
int hora, minuto, segundo;
};
#endif
No Visual C++ 2008:


