DAIGL:POB
Notion de pointeur
Lorsqu'on déclare une variable, le compilateur réserve en mémoire la place nécessaire à l'hébergement. Toute variable possède donc une adresse réservée. Un pointeur au lieu de contenir l'information contient son adresse.
Var A = 142 Var B = 00200
On dit que la variable B pointe vers l'information 142 grâce à son contenu qui est l'adresse de cette information.
Déclaration:
->B: entier
*B : entier ( C )
&$B (PHP)
*, & : opérateur de déréférencement et de référencement
Les objets et les classes
La programmation orientée objet encapsule les données (ses attributs) et les fonctions (comportement ou méthodes) a l'intérieur d'un ensemble appelé classe. Une classe ressemble à un plan. Une classe représente un type de donnée, un gabarit qui permet de créer des variables que l'on appelle objet. La relation qui existe entre la classe et l'objet est la même que celle existante entre un type de donnée et une variable.
I:/ L'encapsulation
C'est le principe qui permet de regrouper les données et les fonctions au sein d'une classe. Cette notion est également associé à un niveau de protection qui permet de contrôler la visibilité des variables et des fonctions. Il existe trois niveau de protection:
* Public
Les données ou fonctions sont utilisables par toutes les fonctions. Il s'agit du niveau le plus bas de protection.
* Private
Les données ou fonctions sont utilisables uniquement par les fonctions membres de cette classe.
* Protected
Les données ou fonctions sont utilisables uniquement par les fonctions membres et les fonctions des classes dérivées (héritage).
II:/ Les classes
La déclaration d'une classe n’entraîne pas d'allocation mémoire L'allocation mémoire est associé aux données membres et ne sera effective que lorsque on créera un objet Deux méthodes de création:
* Statique : "eleves uneleve"; uneleve.getnom() * Dynamique : eleves *uneleve; uneleve = new eleves; uneleve->getin(); delete unleve;
Le corps de la fonction est déclaré en dehors de la classe. Dans la classe on déclare uniquement le prototype.
Lorsqu'on crée un objet, on alloue la zone mémoire nécessaire et on appelle une fonction membre spéciale : le constructeur. Il est appelé de façon automatique à la création de l'objet. Il est donc l'endroit idéal pour initialiser des variables. Un constructeur est une fonction membre qui doit respecter les règles suivantes. Elles possèdent le même nom que la classe et ne possède pas de valeur de retour.
Le destructeur est précédé du tilde : ~dest
L'accesseur est une méthode qui renvoie le contenu d'une variable protégé appeler aussi getter Le mutateur est une fonction qui permet de modifier le contenu membre appeler aussi setter
