En la programació orientada a objectes, un fitxer d'implementació de classe s'utilitza sovint per contenir el codi d'implementació per als mètodes d'una classe. Els llenguatges de programació com C++ i Objective-C fan ús d'aquests fitxers d'implementació per separar la interfície i la implementació d'aquests mètodes.

Motivació Amb aquesta estructura, també es crea un fitxer de definició de classe que conté la declaració de la classe i els seus membres. Si s'ha inclòs la definició de classe i el fitxer d'implementació dels seus mètodes està disponible, l'usuari pot crear una instancia d'un objecte de la classe. L'objectiu d'aquesta estructura és mantenir el codi d'implementació ocult, però permetre a l'usuari veure el disseny.

Els usuaris fan ús de la interfície pública d'un objecte per tal de fer que la creació d'objectes sigui el més senzilla possible, assegurant que el codi del client no distregui l'usuari amb detalls innecessaris de la implementació de la classe. Això permet a l'usuari la informació necessària per utilitzar la classe de manera eficaç, però evita que danyi el codi compilat.

L'estructura d'un fitxer d'implementació de classe Un fitxer d'implementació s'utilitza a la programació C++ quan es crea una definició de classe per dividir la interfície de la implementació. El fitxer de capçalera declararia totes les funcions membres (mètodes) i mètodes de dades (camps) que té la classe.

El fitxer d'implementació contindrà la definició real o el codi font dels mètodes declarats al fitxer de capçalera. Aquest fitxer pot començar amb un bloc de capçalera, que proporciona comentaris que descriuen el propòsit de la classe definida i qualsevol detall sobre la creació del fitxer real, com ara l'autor del fitxer i la data de creació del fitxer. També pot incloure qualsevol biblioteca de la biblioteca estàndard de C++ que s'utilitzarà per qualsevol dels mètodes declarats al fitxer. El fitxer d'implementació de classe normalment tindrà una línia per incloure el fitxer de capçalera associat (vegeu els exemples a continuació).

Exemple en C++ Un exemple seria tenir una classe anomenada ExampleClass. El fitxer de capçalera d'aquest fitxer C++ s'anomenaria "example_class.h" i el fitxer d'implementació seria "example_class.cc".

Un exemple de l'estructura de example_class.cc seria així:#include "example_class.h"

ExampleClass::ExampleClass() = default;

void ExampleClass::AddSomething(int k) { ... }En aquest exemple, s'ha omès la implementació de les funcions, però les funcions s'han de declarar a example_class.h així:#include <string>

class ExampleClass { public: ExampleClass(); // Constructor. void AddSomething(int k);

private: std::string name_;

Referències

Categoria:Llenguatge de programació C