Rapport Help

Description technique

Dans ce chapitre, je vais expliquer les choix techniques que j'ai fait pour réaliser ce projet.

Attribut statique

Pour que chaque capteur est un identifiant unique, j'ai ajouté un attribut statique STATIC_ID à la classe Sensor. Cet attribut est incrémenté à chaque création d'un capteur et est utilisé pour attribuer un identifiant unique à chaque capteur. Cet attribut n'appartient pas à une instance de la classe, mais à la classe elle-même. Cela signifie que la valeur de cet attribut est partagée par toutes les instances de la classe (ou de ses sous-classes dans notre cas).

class Sensor { static int STATIC_ID; int id; public: Sensor() : id(STATIC_ID++) {} };

Classe abstraite (virtuelle pure)

La classe Sensor est une classe abstraite, c'est-à-dire qu'elle contient au moins une méthode virtuelle pure. Dans notre cas, la méthode virtuelle pure est execute. Cette méthode est définie dans la classe mère mais n'est pas implémentée. Elle doit être redéfinie dans les classes filles. Cela permet de définir une interface commune pour les classes filles et de garantir que chaque classe fille implémente cette méthode.

Héritage multiple

Pour pouvoir gérer les données des capteurs, j'ai utilisé l'héritage multiple. Chaque classe spécifique de capteur hérite de la classe Sensor et de la classe Data. Cela permet de partager les méthodes et les attributs communs aux capteurs et aux données des capteurs. La classe Data contient une donnée génériques qui est utilisé pour stocker les données des capteurs. Cela supprime le problème du type de données.

Last modified: 10 November 2024