SITE WEB de |
Enseignement > Programmation orientée objet > Delphi > Encapsulation - Modularité |
|
|
L'encapsulaton est une technique qui permet de masquer le fonctionnement interne d'un objet : les attributs "privés" de l'objet ne sont accessibles qu'à travers des méthodes écrites spécifiquement pour cela. 1. Pourquoi encapsuler ? Le premier objectif est de donner à l'utilisateur les méthodes de manipulation d'un objet sans expliquer son fonctionnement interne. la classe Voiture encapsule beaucoup d'informations :
Pour un objet composé, il est souvent inutile de donner accès à tous les composants
Exemple : Au lieu de 4 ligne des codes maVoiture.roueARG.pneu.gonfler; On ecrira une méthode spécifiqiue Procedure Voiture.VerifierPressionPneus; Le second objectif est de protéger l'objets contre des "usages abusifs" Exemple : écrire les méthodes Procedure Voiture.Acceler pour modifier la vitesse du véhicule, et interdire de modifier directement l'attribut vitesse 2. Comment encapsuler ?Définir avec les mots clés public, private et protected la portée des attributs et des méthodes 3. Exemples d’encapsulation TPneu = Class(Tobject)Private pression : real ; const MAX_PRESSION = 500 ; Public procedure gonfler ; procedure degonfler ; function lirePression : real ; end ; procedure TPneu.gonfler; procedure TPneu.degonfler; begin lirePression = pression end ; Impossible de modifier directement la pression du pneu type TVehicule = Class(Tobject) 4. Modularité La définition d'unités permet de regrouper le source d’une ou plusieurs classes dans un seul fichier. Cette unité pourra ensuite être utilisée dans différents programmes qui auront ainsi accès à ces classes. Exemple Unit UVoiture ; Interface Implementation .... //code des méthodes de la classe TVoiture |
||
Mise à jour par l'éditeur le : 30/11/2003 -
Copyright © 2012 - 2013 François Bonneville - Tous droits réservés |
||