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

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Introduction: Concepts de la programmation
Introduction Pour concrétiser l’enseignement assisté par ordinateur
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Programmation Orientée Objet (POO)
INTRODUCTION.
Leçon 3 : Héritage IUP 2 Génie Informatique
Introduction à la POO: Les classes vs les objets
La programmation Orienté Objet
Programmation orientée objet
Analyse et Conception orientée objet
Principes de la technologie orientée objets
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Analyse et Conception orientée objet
Réalisée par :Samira RAHALI
Langage Oriente Objet Cours 4.
Mémoire de fin d’études présenté par Amine Brikci-Nigassa
IFT1025, Programmation 2 Jian-Yun Nie
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
C++ : classes Introduction aux Langages Orientés Objets
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
POO : Objets et classes (Rappels)
Modélisation orientée objet UML
Rappels sur la Programmation java
Etude globale de système.
Structures de données IFT-2000
Structures de données IFT-10541
Introduction au paradigme orienté-objet (suite)
Présentation du mémoire
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Types de données abstrait et mécanismes d'encapsulation
COURS DE PROGRAMMATION ORIENTEE OBJET :
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Portée, arrimages et intervenants Évolution des méthodes
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
INF1101 Algorithmes et structures de données
Structures de données IFT-2000 Abder Alikacem L’héritage en C++ Département d’informatique et de génie logiciel Édition Septembre 2009.
Héritage ou dérivation d’une classe
Structures de données IFT-2000 Abder Alikacem Concepts orientés objet Édition Septembre 2009 Département dinformatique et de génie logiciel Département.
Patrons de conceptions de créations
Introduction à la programmation orientée objets
Héritage et composition
Travaux Pratiques Représentation des connaissances
Conception Objet A. LOTFI.
Les principes de la modélisation de systèmes
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
11/04/ L'héritage Cours 7 Cours 7.
Algorithmique et programmation (1)‏
Algorithmes et Programmation
Le système informatique et le système d’information
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Introduction à la programmation objet en C++
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Modèle de conception et de production à la SOFAD Journée d’échange du CLIFAD Trois-Rivières, le 3 décembre 2004 Jean-Simon Labrecque, Chargé de projets.
PHP objet Jérôme CUTRONA 10:13:27 Programmation Web
Les types composés Les enregistrements.
Chapitre III Introduction aux objets et aux classes.
Les classes Introduction aux Langages Orientés Objets
Fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n')
Héritage Conception par Objet et programmation Java
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Campus-Booster ID : Copyright © SUPINFO. All rights reserved La programmation objet, un fondement de la programmation évènementielle.
Introduction à la Programmation Orientée Objet
Master 1 SIGLIS Jave Lecteur Stéphane Tallard Chapitre 5 – Correction TD.
TECHNOLOGIE – Avril 2008 Projet de programme 4 e : Thème : Confort et domotique Equipement intérieur Equipement extérieur Electroménager Vidéo, photo Son.
Transcription de la présentation:

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

É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 n’est réalisée. DONNÉES Programme Programme Programme Programmation procédurale : DONNÉES Il s’agit 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 DONNÉES Programmation orientée objet : Il s’agit de regrouper l’ensemble des données et les traitements qui s’appliquent à ces données. On procède à un découpage naturel des données et du traitement des données. . . . . . . . . . Le concept de classe permet d’établir cette relation données – traitement. Il n’est pas essentiel pour appliquer les principes de la programmation orientée objet mais facilite grandement la tâche du programmeur. Exemple : Application chargée de la paye des employés d’une 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 : l’ensemble des « employés » de l’entreprise et des méthodes qui se rattachent au corps de métier. Entreprise : les caractéristiques de l’entreprise, un lien vers le corps de métier et les méthodes qui se rattachent à l’entreprise.

Programmation orientée objets - 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. Buts: Le concept de classe permet ypes de données abstraits Défn.: 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é à l’aide de la notion de classe. Chaque instance d’une 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.

Concepts de la programmation orientée objets L’approche objet s’appuie sur 3 techniques fondamentales: l’encapsulation l’héritage le polymorphisme

L’ENCAPSULATION 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. L’interface énonce les services offerts et les détails de fonctionnement sont cachés. L’emphase est mise sur la compréhension des éléments importants, sans se soucier de l’implantation.

L ’ENCAPSULATION Permet de réunir au sein d’une même entité appelée classe, des données membres (variables ou attributs) et des traitements (fonctions membres ou comportements). Les objets de ces classes ont la propriété de masquer l’information. Un système de protection permet de contrôler l’accès aux données et traitements de la classe. On peut cacher le fonctionnement interne d’une classe et éviter que les objets de cette classe soient utilisés de façon non conforme. Vu de l’extérieur, l’interface d’un 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 d’un objet directement, on doit passer par l’interface.

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

L’HÉRITAGE EXEMPLE : Plusieurs comportements d’un fournisseur de bois de chauffage sont connus, non pas parce que je sais qu’il est fournisseur de bois de chauffage, mais aussi parce qu’il est un commerçant. Je m’attend à ce qu’il me demande de l’argent pour ses services et qu’il 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 d’un commerçant sont aussi ceux de l’épicier, du coiffeur, … En organisant nos connaissances ainsi, cela permet une compréhension rapide du problème.

Philo (Un poisson rouge) L’HÉRITAGE Objets physiques Animal Plante Mammifère Reptile Poisson Humain Chien Rex (Un boa) Fleurs Commerçant Artiste Dentiste Fleuriste Garagiste Peintre Philo (Un poisson rouge) Hubert Gaston Jean-Guy Picasso Jean Fleurs pour Béatrice

Imprimante à matrice de points L’HÉRITAGE Permet de réutiliser les classes existantes On peut définir une nouvelle classe à partir d’une 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 d’autres éléments dans les classes dérivées. imprimante Imprimante à matrice de points Imprimante au laser Héritage des propriétés

Hiérarchie de classes Une classe peut hériter d’une 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 ELLIPSE TRIANGLE RECTANGLE CERCLE CARRÉ

LE POLYMORPHISME 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 l’ordre de se mouvoir, chaque animal va pouvoir répondre à cet ordre, à sa manière propre. S’applique aux fonctions membres des classes. Permet à 2 objets de classes différentes de réagir différemment au même appel de méthode.