1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,

Slides:



Advertisements
Présentations similaires
Introduction à la Programmation Orientée Objet H.GATI.
Advertisements

UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
1 ● Conception ● Exemple de classes ● Fonctions virtuelles ● Fonctions virtuelles pures ● Classes abstraites Programmation en C++ Héritage.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ Cycle de vie ● La vie d'un objet ● Destructeur ● Gestion de mémoire dynamique.
Présentation python : Épisode 4 ● Les objets : héritage ● Introduction à l'héritage ● Un exemple illustrant l'héritage ● Détails sur l'appel de méthode.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université d’Adrar Diagramme d’états-transitions Présenté par Sbai Omar Benothman.
ARCHITECTURE MULTITENANT CONTAINER DATABASE ET PLUGGABLE DATABASES Pr. A. MESRAR
Concepts pour le contrôle de flux
Cross-Plateform Cours JavaScript
MENUS PRINCIPAL RESEAU.
Exposé : Les arbres phylogénétiques
Programmation en C++ Héritage
Google analytics.
Cours 12 : Les Web Services et UDDI Mars Version 1.0 -
Pas de variable globale
Les Bases de données Définition Architecture d’un SGBD
MOT Éditeur de modèles de connaissances par objets typés
Initiation aux bases de données et à la programmation événementielle
JAVA et POO : Notion d'héritage
Principes de programmation (suite)
Polymorphisme : règles
Réalisation d'agents de surveillance Zephir
Les Plans d’expériences: Plans Factoriels
Langage de Modélisation UML
Semaine #4 INF130 par Frédérick Henri.
GRAPHISME PAR ORDINATEUR
Bonnes pratiques Orienté Objet et Java
Programmation en C++ Classes
Stabilité des porteurs horizontaux (Poutres)
Présentation des EJB Enterprise Java Beans.
Notion De Gestion De Bases De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation en C++ C++ de base
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Langage de modélisation graphique de système
Chapter 12: Structures de données
Programmation Orientée Objet
Plan du chapitre Diagramme de classes Les extensions syntaxiques
Programmation Android Bases De Données, SQL-lite
Formation sur les bases de données relationnelles.
Développement d’applications interactives
Diagrammes UML 420-KE2-LG.
Programmation Android Première application Android
L1 Technique informatique
5 Analyse avec Designer d'Oracle
SIMM : Réflexions sur les besoins en référentiels.
© Robert Godin. Tous droits réservés.
Langages de programmation TP11
Présentation 4 : Sondage stratifié
EPITECH 2009 UML EPITECH 2009
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Outils de gestion de Exchange
Logiciel de présentation
Numérique et Sciences Informatiques
Elles contiennent des informations autre que géométriques
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
INTERFACE ET POLYMORPHISME
Retour sur les interfaces
Jérôme CUTRONA PHP objet Jérôme CUTRONA 08:30:34 Programmation Web
Numérique et Sciences Informatiques
Enseignement de Spécialité (EdS) classes de Première et Terminale
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
© Robert Godin. Tous droits réservés.
Type Tableau Partie 1 : Vecteurs
MOT Éditeur de modèles de connaissances par objets typés
Transcription de la présentation:

1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”, “Hérite” ● Vocabulaire

2 Qu'est-ce qu'un objet ● “Something you can do things to” (G. Booch) ● Un objet = une entit é qui a son é tat et son comportement – L' objet maintient son état dans une ou plusieurs variables ● Variable = une donnée nommée par un identificateur – L'objet implante son comportement par les méthodes ● Méthode = une fonction associée à un objet variable Comportemen t (méthodes) État (variables ) ● Un objet est une entité informatique comprenant des variables et des méthodes

3 Qu'est-ce qu'un objet ● Exemples d'objets du monde r é el: – Chien avec l' é tat d éfini par son nom, couleur, race, position,... et comportement comme assis, couch é, apporte, aboie... nom coule ur positi on Assis Apporte Couché Le chien modelisé comme objet informatique nbVite sse actVit esse coule ur Accelére Freine Change la vitesse Le vélo modelisé comme objet informatique – V é lo avec l' é tat d éfini par son nombre de vitesses, vitesse actuelle, couleur,... et comportement comme: accélère, change la vitesse,...

4 « Encapsulation » ● Les variables forment un noyau de l'objet et les méthodes forment une enveloppe qui entoure le noyau et le cache aux autres objets du programme ● Le paquetage des variables d'objet sous la garde de ses méthodes s'appelle « encapsulation » variable Services publiques (Interface) État (variables ) Services internes (non-accessible de l'extérieur)

5 Collaboration des objets ● L'objet apparaît comme un composant d'un programme qui en contient beaucoup d'autres ● C'est par l'interaction de ses objets que le programme ach è ve un plus haut niveau de sa fonctionnalité et complexité ● Les objets interagissent l'un sur l'autre en s'envoyant des messages Le vélo Vous change la vitesse (premièreVitesse) Le message comprend: – L'objet destinataire à qui le message est adress é (le v é lo) – Le nom de la méthode à accomplir (changeVitesse) – Le paramètre (ou les paramètres) dont la méthode a besoin (premièreVitesse)

6 Les classes ● Dans le monde réel on a plusieurs objets du m ê me type: – Votre chien ou le chien de votre voisin est toujours un chien parmi beaucoup de chiens dans le monde – En parlant OO (Orienté Objet) – on dit que notre chien est une instance de la classe des objets connus comme chiens ● Une classe est un prototype qui déclare des propriétés communes à un ensemble d'objets (des variables et des méthodes) – Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets ● Une instance est une occurrence, une réalisation d'un objet de classe donnée nom coule ur positi on Assi s Apporte La classe chien nom coul eur positi on Assi s Apporte Viky couché fauve Mon chien (Une instance) nom coul eur positi on Assi s Apporte débout blanche Chien de Sébastian (Une instance) Bella Couch é

7 Les classes – notation UML ● UML (Unified modelling language) = un langage graphique de modélisation des données et des traitements nom coule ur positi on Assi s Apporte La classe chien Chien nom couleur position Assis() Couché() Apporte() Nom de la classe Données membres ou attributs Fonctions membres ou méthodes Chien Si les détails de la classe ne sont pas importants dans le contexte, la classe peut être bien représentée par un simple rectangle Nom de la classe Couch é

8 Relations entre les classes « Contient » ● La conception du programme consiste à d é finir les entités des objets d écrits par les classes ainsi que leurs relations ● La relation « Contient » (“Has”) – Une classe (A) peut contenir une (des) autre(s) classe(s) (B, C,...) – On dit que la classe A est une composite de B, C,... – Ex. notre classe V élo peut contenir la variable boiteDeVitesses qui n'est pas de type primitif (int, float,...) mais de type de la classe BoiteDeVitesses Vélo boit eDe Vitte sse s BoiteDeVitesses

9 Relations entre les classes « Utilise » ● La relation « Utilise » (“Use“) – Une classe (A) peut avoir besoin d'utiliser une autre classe (B) sans la contenir – Typiquement la classe A envoie des messages à la classe B qui n'est pas contenue comme sa donnée membre – Ex. notre classe V élo peut définir la méthode lubrifier qui utilise comme paramètre l'objet du type Huile Vélo Vous lubrifier(huile) Huile

10 Relations entre les classes « Hérite »... ● La relation « Hérite » (“Is a“) – Une classe (A) peut hériter de l'état (des variables) et du comportement (des méthodes) d'une autre classe (B) – On dit que la classe A représente un super-type (super-classe) de la classe B, représentant un sous-type (sous-classe) – Ou que la classe A représente une généralisation de la classe B, représentant une spécialisation de la classe A – Ou que la classe A représente une classe de base de la classe B, représentant une classe dérivée de la classe A – Par exemple un vélo de montagne, un vélo de route ou un vélo tandem sont tous du type vélo Vélo de montagne Vélo de route Vélo tandem

11... Relations entre les classes « Hérite » – Les sous-classes partagent les mêmes états et les mêmes méthodes, mais ils peuvent ajouter leurs propres données membres et/ou méthodes ● Ex. un vélo tandem a une siège en plus – Les sous-classes peuvent aussi redéfinir la méthode héritée de sa super-classe et fournir son implantation spécialisée ● Ex. un vélo montage peut redéfinir la méthode « ChangeVitesse » pour que le cycliste puisse profiter de ses vitesses spéciales Vélo de montagne Vélo de route Vélo tandem

12 Vocabulaire ● Objet = une entité informatique comprenant des variables et des méthodes ● Variable = une donnée nommée par un identificateur ● Méthode = une fonction associée à un objet ● Encapsulation = le paquetage des variables d'objet sous la garde de ses méthodes ● Message = le moyen de l'interaction et communication parmi les objets ● Classe = un prototype qui déclare des propriétés communes à un ensemble d'objets (des variables et des méthodes) ● Instance = est une occurrence, une réalisation d'un objet de classe donnée ● « Contient » = La classe A contient la classe B si une de ses variable est une instance de la classe B ● « Utilise » = La classe A utilise la classe B si elle a besoin d'une instance de la classe B dans une de ses méthodes ● « Hérite » = La sous-classe B hérite de l'état (des variables) et du comportement (des méthodes) de sa super-classe A