1 / 43

Programmation orientée objet

Programmation orientée objet. Paradigmes Notions. Constats. Il y a beaucoup de manières à écrire un programme qui effectue une tâche spécifiée. La manière de programmation dépende du langage utilisé. Le langage utilisé dépende de la manière de programmation. Paradigmes de programmation.

brosh
Download Presentation

Programmation orientée objet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmation orientée objet Paradigmes Notions

  2. Constats Il y a beaucoup de manières à écrire un programme qui effectue une tâche spécifiée. La manière de programmation dépende du langage utilisé. Le langage utilisé dépende de la manière de programmation.

  3. Paradigmes de programmation • programmation procédurale : P.P. (Pascal, C, etc.) • programmation orientée objet : P.O.O. (C++, Java, Delphi) • etc.

  4. Programmation procédurale(rappel de C) • le programme est composé des fonctions • les données (variables) sont créées à l’intérieure des fonction ou bien passées comme paramètres • il y a un programme principal (main)

  5. Un programme en C

  6. Limitations • Il n’y a pas de méthode ou de cadre pour bien organiser les fonctions. • Les modifications d’une fonction entraînent d’autres modifications dans autre fonctions, etc. – la portée d’une modification est trop grand et difficile à gérer. • Redondance dans le code (la même chose est codé plusieurs fois) • Propagation des erreurs – déboggage difficile

  7. Est-ce qu’il faut oublier le C? NON! Vous allez avoir le choix parmi plusieurs méthodes de programmation!

  8. Paradigme orienté objet Comment peut on y arriver? • Introduction des nouvelles (?) notions • objet (objektum) • classe (osztály) • instanciation (példányosodás) • hiérarchie des classes (osztályhierarchia) • héritage (öröklődés) • événement (esemény) • On va utiliser ces notions pour introduire le paradigme de programmation orientée objet.

  9. Objet (exemple / fenêtre) • propriétés d’une fenêtre • ouverte/fermée • cassée/intacte • taille • sens d’ouverture • type de verre • coefficient de réflexion de chaleur • Pour une fenêtre concrète, ces propriétés ont des valeurs.

  10. Objet (exemple / fenêtre) • opérations avec une fenêtre donnée • ouvrir • fermer • casser • réparer • changer la verre

  11. Objet (exemple / livre) • propriétés d’un livre dans une bibliothèque • état (emprunté / disponible / perdu) • date de la fin de l’emprunt • titre • auteur • nombre de pages • Pour un livre donné, ces propriétés ont des valeurs!

  12. Objet (exemple / livre) • opérations sur un livre d’une bibliothèque • emprunter • rendre • perdre • voler

  13. Objet (définition) • Un objet est un ensemble des propriétés ayant des valeurs et des actions (opérations ou méthodes) agissant sur les valeurs de ces propriétés. • Remarque: c’est la tâche qui nous dira quelles sont les propriétés et les méthodes qu’on doit prendre en compte dans le programme.

  14. Objet (exercice) • Propriétés intéressantes? • Actions intéressantes? (pour une compétition, pour une entreprise qui loue des voitures, etc…)

  15. Classes • La classification des choses se fait par abstraction. • Il faut trouver les caractéristiques communes des éléments de la classe. En effet, ces sont ses caractéristiques qui définissent une classe.

  16. Classe des objets • Les objets ayant des mêmes propriétés et les mêmes méthodes peuvent être mis dans une classe. • Une classe sera définie par les propriétés et les méthodes sur ses éléments.

  17. Classe des livres • propriétés • état (emprunté / disponible / perdu) • date de la fin de l’emprunt • titre • auteur • nombre de pages • méthodes • emprunter • rendre • perdre • voler

  18. Classe des fenêtres • méthodes • ouvrir • fermer • casser • réparer • changer la verre • propriétés • état d’ouverture (ouverte/fermée) • état (cassée/intacte) • taille • sens d’ouverture • type de verre • coef de réflexion de chaleur

  19. Classe • Une classe est un ensemble des propriétés et des méthodes. Dans le programme variables propriétés méthodes procédures (code) ENCAPSULATION

  20. Une classe dans un programme • une classe est une collection de données et des méthodes sur ces données. • Une classe est une encapsulation des données et du code. • La notion de l’encapsulation est la création des classes • donne une organisation naturelle des fonctions (méthodes) • permet d’effectuer la modification locale du code

  21. Exemple dans un langage de programmation (JAVA) public class Cercle; { double Rayon; public double calculerAire() { return Rayon * Rayon * 3.1415; } }

  22. Instanciation (példányosodás) • Un objet est une instanciation d’une classe • Les propriétés (i.e. des variables) de la classe ont des valeurs. • Les méthodes de la classe fonctionnent sur l ’objet.

  23. Une instance de la classe livre propriétés • état = emprunté • date de la fin de l’emprunt = 2003/03/20 • titre = Concepts of object-oriented programming • auteur = David N. Smith • nombre de pages = 189 méthodes • emprunter • rendre • perdre • voler

  24. Comment créer un objet? • Dans chaque classe, il y a une méthode spéciale: La méthode constructeur • Cette méthode permet de créer un nouveau objet de la classe en définissant les valeurs des propriétés et en donnant accès aux méthodes sur cette objet.

  25. Une instance de la classe livre propriétés • état = emprunté • date de la fin de l’emprunt = 2003/03/20 • titre = Concepts of object-oriented programming • auteur = David N. Smith • nombre de pages = 189 méthodes • emprunter • rendre • perdre • voler • livre méthode constructeur

  26. Exemple dans un langage de programmation (JAVA) public class Cercle; { double Rayon; public double calculerAire() { return Rayon * Rayon * 3.1415; } Cercle(double r) // constructeur { Rayon = r; } }

  27. Objet comme valeur d’une propriété Un objet peut être la valeur d’une propriété

  28. Exemple • On définit la classe des roues • Ensuite, on définie la classe des voitures • Pour une voiture donnée, on a quatre roues qui sont de la classe des roues.

  29. Exemple dans un langage de programmation public class Dessin { Cercle Composant1; double surfaceDessin; }

  30. Exemple (objet comme valeur d’une propriété) Classe auteur propriétés • nom (String) • prénom (String) • état (mort/vivant) • prix (liste) méthodes • obtenir prix • auteur

  31. Exemple (objet comme valeur d’une propriété) Classe livre • propriétés • état (emprunté / disponible / perdu) • date de la fin de l’emprunt • titre • auteur • nombre de pages • méthodes • emprunter • rendre • perdre • voler • livre La valeur est une instanciation de la classe auteur

  32. Hiérarchie des classes • Example : classification des espèces (Darwin) • La hiérarchie va des classes générales vers les classes spécifiques véhicle voiture camion moto 4x4 utilitaire

  33. Hiérarchie des classes voiture classe mère utilitaire classe dérivée

  34. Héritage (öröklődés) • la classe dérivée possède • TOUTES LES PROPRIETES DE SA CLASSE MERE • TOUTES LES METHODES DE LA CLASSE MERE

  35. Héritage des propriétés (exemple) voiture fabriquant chauffeur Utilitaire fabriquant, chauffeur cargaison quantité Propriétés héritées

  36. Héritage des méthodes (exemple) voiture démarrer arrêter Méthodes héritées Utilitaire démarrer, arrêter charger décharger

  37. Exemple dans un langage de programmation publicclass CercleUnitaire extends Cercle { CercleUnitaire() { Rayon=1; } }

  38. Hiérarchie des classes • Exercice : donnez une classification hiérarchique de quelques éléments de dessins (ligne, triangle, carré, losange cercle, etc.) • Exercice : donnez une classification hiérarchique d’une base de données des livres dans une bibliothèque • Exercice : donnez une classification hiérarchique de ce que vous voulez.

  39. Un programme orienté objet • modélisation du domaine à l’aide des classes • définition des classes • création des instances (peut être dynamique) • messages entre les objets (appel des méthodes)

  40. Interface vers l’utilisateur • L’interface vers l’utilisateur est une collection des objets (boutons, champs de texte, menu déroulant, etc.) • L’utilisateur dispose des actions sur les éléments de l’interface (sélectionner, cliquer, double cliquer, etc.) • Une action correspond à un événement qui déclenche l’exécution d’une méthode.

  41. Un programme orienté objet

  42. Les langage de programmations orientés objets • On a présenté les concepts de base de POO. • Certains langages de programmation permettent de mettre en œuvre ces concepts quand on écrit un programme. • Les syntaxes de ces langages peuvent être différentes. • Le POO est un paradigme et n’est pas un langage.

More Related