La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Classes et objets Types de données abstraits, programmation orientée objet, classes, objets,

Présentations similaires


Présentation au sujet: "Classes et objets Types de données abstraits, programmation orientée objet, classes, objets,"— Transcription de la présentation:

1 Classes et objets Types de données abstraits, programmation orientée objet, classes, objets,

2 2 Évolution de la programmation Programmation séquentielle : Les instructions sont exécutées de façon linéaire. Les données sont globales et aucune réutilisation du code nest réalisée. DONNÉES Programme Programmation procédurale : Il sagit de découper un programme en une série de fonctions lesquelles ont pour but de réaliser un traitement particulier. On procède à un découpage du traitement mais les données restent globales. DONNÉES

3 3 Programmation orientée objet : Il sagit de regrouper lensemble des données et les traitements qui sappliquent à ces données. On procède à un découpage naturel des données et du traitement des données. DONNÉES... DONNÉES... Exemple : Application chargée de la paye des employés dune entreprise. La programmation orientée objet permet une modélisation en lien direct avec le monde réel. Cela nous amène à créer minimalement les 3 classes suivantes : Employe : toutes les données qui caractérisent un employé et les méthodes qui manipulent ces données, Corps_de_metier : lensemble des « employés » de lentreprise et des méthodes qui se rattachent au corps de métier. Entreprise : les caractéristiques de lentreprise, un lien vers le corps de métier et les méthodes qui se rattachent à lentreprise. Le concept de classe permet détablir cette relation données – traitement. Il nest pas essentiel pour appliquer les principes de la programmation orientée objet mais facilite grandement la tâche du programmeur.

4 4 Programmation orientée objets Buts: - améliorer la réutilisation des outils existants - favoriser la spécialisation de ces mêmes outils. - séloigner de la machine et se rapprocher du problème à résoudre. - développer une approche mieux adaptée à la résolution de problèmes. - Nouvelle façon de penser la décomposition de problèmes et lélaboration de solutions. Le concept de classe permet ypes de données abstraits Déf n.:Type de donnée défini par un programmeur et manipulé comme un type de donnée de base du langage (int, long, float, …). Un type de donnée abstrait peut être implanté à laide de la notion de classe. Chaque instance dune classe est un objet de la classe ou une variable de ce type de donnée. Peu ou pas de variables globales : permet une meilleure protection des données.

5 5 Concepts de la programmation orientée objets Lapproche objet sappuie sur 3 techniques fondamentales: lencapsulationlhéritagele polymorphisme

6 6 LENCAPSULATION EXEMPLE : Mon chat miaule, marche et mange : Nous connaissons les manifestations extérieures du miaulement, mais la façon dont le son est produit nous est masqué. Le chat devient alors une abstraction dont on ne montre seulement que quelques comportements. Une interface représente cette abstraction. Linterface énonce les services offerts et les détails de fonctionnement sont cachés. Lemphase est mise sur la compréhension des éléments importants, sans se soucier de limplantation.

7 7 L ENCAPSULATION Permet de réunir au sein dune même entité appelée classe, des données membres (variables ou attributs) et des traitements (fonctions membres ou comportements). Un système de protection permet de contrôler laccès aux données et traitements de la classe. On peut cacher le fonctionnement interne dune classe et éviter que les objets de cette classe soient utilisés de façon non conforme. Vu de lextérieur, linterface dun objet (aussi appelé protocole) constitue la liste de tous les services (i.e. les méthodes) auxquels les autres objets ont accès. On ne peut modifier létat dun objet directement, on doit passer par linterface. Les objets de ces classes ont la propriété de masquer linformation.

8 8 L ENCAPSULATION Constructeurs :créer et initialiser un nouvel objet. Destructeurs : libérer les ressources et détruire lobjet. Accès : accède à de linformation mais naltère pas létat de lobjet. Catégories dopérations dans linterface dun objet Assignation : altère létat dun objet. Opérateur de comparaison : comparer des objets entre eux. Itérateur : permet de parcourir une collection dobjets dans un ordre donné. Copie et clonage : copie à partir dun autre objet ou clonage de lobjet lui-même. Entrée / sortie.

9 9 LHÉRITAGE EXEMPLE : Plusieurs comportements dun fournisseur de bois de chauffage sont connus, non pas parce que je sais quil est fournisseur de bois de chauffage, mais aussi parce quil est un commerçant. Je mattend à ce quil me demande de largent pour ses services et quil me donne un reçu en échange. Ces comportements sont aussi vrais pour lépicier, le coiffeur ou le préposé au club vidéo. Les comportements dun commerçant sont aussi ceux de lépicier, du coiffeur, … En organisant nos connaissances ainsi, cela permet une compréhension rapide du problème.

10 10 LHÉRITAGE Objets physiques Animal Plante Chien Humain Fleurs Hubert Commerçant ArtisteDentiste Fleuriste Fleurs pour BéatriceGastonPicassoJean Peintre Mammifère ReptilePoisson Philo (Un poisson rouge) Rex (Un boa) Garagiste Jean-Guy

11 11 LHÉRITAGE Permet de réutiliser les classes existantes On peut définir une nouvelle classe à partir dune autre. La classe dérivée pourra bénéficier -des attributs (variables) -des comportements (fonctions) de la classe de base dont elle hérite. Permet de spécialiser une classe de base en renfermant dautres éléments dans les classes dérivées. imprimante Imprimante à matrice de pointsImprimante au laser Héritage des propriétés

12 12 Hiérarchie de classes Une classe peut hériter dune classe qui est elle-même une sous-classe et ainsi de suite. La structure arborescente qui en résulte est appelée hiérarchie de classes. FIGURE POLYGONE TRIANGLE ELLIPSE CERCLERECTANGLE CARRÉ

13 13 LE POLYMORPHISME Sapplique aux fonctions membres des classes. Permet à 2 objets de classes différentes de réagir différemment au même appel de méthode. EXEMPLE : Les chiens, les serpents et les poissons partagent tous un comportement commun hérité de la classe des animaux : ils ont la capacité de se mouvoir. Tous le font, mais chacun à sa manière :- le chien marche - le serpent rampe - le poisson nage. Si on donne lordre de se mouvoir, chaque animal va pouvoir répondre à cet ordre, à sa manière propre.


Télécharger ppt "Classes et objets Types de données abstraits, programmation orientée objet, classes, objets,"

Présentations similaires


Annonces Google