SlideShare une entreprise Scribd logo
JAva chapitre 1 programmation orientée objet
Programmation
Orientée Objet (POO)
Présenté le: lundi 14 octobre 2024
Université de M’sila
Faculté des Mathématiques et d’informatique
Département d'informatique
2eme Année Licence Fondamentale
Présenté par: ARIOUAT Youcef
YOUCEF. ARIOUAT@Gmail.com
3
Intitulé de la Matière
Programmation Orientée Objet (POO)
4
Informations pratiques
• Semestre 3
• UEF2
• Coefficient: 3
• Crédits: 5
• 15 semaine : 67h:30’ (1Cours + 1TD + 1TP)
• Mode d’évaluation : Continu (TD et TP) et Examen
5
Objectifs
Introduire les concepts de base du langage Java
• Traiter spécialement les thèmes tels que:
• Technologie orientée objet,
• Encapsulation,
• Héritage,
• Polymorphisme,
• ……….
• Développer les notions de base du langage en particulier:
• les classes, les objets, les constructeurs, finalizer,
• les méthodes et les variables d'instances,
• les méthodes et les variables de classe,
• les sous classes,
• les interfaces et l'héritage multiple,
• …….
6
Compétences visées
• L'essence de la programmation objet en java
• Lire et comprendre des programmes en java
• Ecrire la solution d'un problème en java
• Ecrire des applications sophistiquées (utilisation de structures de
données avancées)
7
Contenu de la matière :
1. Introduction à la Programmation Orienté Objet
• Notions de base
• Historique
• Utilisation des TAD
2. Les classes
3. Héritage et polymorphisme
4. Interface et implémentation
5. Interface graphique et Applet
8
Contenu de la matière :
1. Introduction à la Programmation Orienté Objet
2. Les classes
• Déclaration des classes
• Les constructeurs et destructeurs
• Les méthodes d’accès
• Encapsulation
3. Héritage et polymorphisme
4. Interface et implémentation
5. Interface graphique et Applet
9
Contenu de la matière :
1. Introduction à la Programmation Orienté Objet
2. Les classes
3. Héritage et polymorphisme
• Généralités
• Surcharge et redéfinition
• Héritage : Références
• Polymorphisme
• Les classes abstraites
4. Interface et implémentation
5. Interface graphique et Applet
10
Contenu de la matière :
1. Introduction à la Programmation Orienté Objet
2. Les classes
3. Héritage et polymorphisme
4. Interface et implémentation
• Principe
• Application
5. Interface graphique et Applet
11
Contenu de la matière :
1. Introduction à la Programmation Orienté Objet
2. Les classes
3. Héritage et polymorphisme
4. Interface et implémentation
5. Interface graphique et Applet
• Composants, gestionnaire d’affichage
• Mise en page
• Gestion des événements et écouteur
• Applet
12
Références :
• Le site officiel de Sun Microsystems :
• fr.sun.com/
• Le livre Penser Java :
• bruce-eckel.developpez.com/livres/java/traduction/tij2/
• Conception objet en java avec bluej
• David Barnes. Pearson Education France
• Java outside in
• Bill Campbell. Cambridge University Press
13
Qu’est-ce que la
Programmation Orientée
Objet ?
14
Programmation Orientée Objet
La Programmation Orientée Objet est:
• Un paradigme de programmation
• Un style de programmation.
• Une méthodologie de programmation.
• Une démarche permettant de modéliser
et de résoudre un problème.
15
Programmation Orientée Objet
Pour quoi la Programmation
Orientée Objet ?
16
Quelques chiffres...
• Évolution de la taille de Windows NT
• Distribution Linux Red Hat (2001)
• > 30 millions SLOC
• ~10 millions SLOC pour Open Office
• ~ 8 000 hommes-ans
• navette spatiale > 50 millions LOC
Année Système SLOC (Million)
1993 Windows NT 3.1 4-5
1994 Windows NT 3.5 7-8
1996 Windows NT 4.0 11-12
2000 Windows 2000 > 29
2001 Windows XP 40
2003 Windows Server 50
17
Développement de logiciels :
• Une application peut comprendre des milliers de
lignes de code
• Systèmes bancaires,
• systèmes de contrôle (l'électricité, les téléphones,
l'aéroport),
• Systèmes de simulation ou de modélisation
• les domaines de la biologie, de l'économie
Un système implique
alors la participation
de plusieurs
programmeurs
18
Encore quelques chiffres...
Répartition des coûts de développement
• Les erreurs proviennent de :
6% spécification
5% conception
7% codage
15% test et validation
67% maintenance
56% exigence et spécification :
24% conception
10% codage
10% autres
19
La « Crise du Logiciel » (1960, 1970):
Problème
• Développer des logiciels de qualité à un coût acceptable
Comment évaluer la qualité du code ?
1. le code marche-t-il ?
2. le code est-il compréhensible ?
3. le code est-il modifiable facilement ?
4. Le code est-il modifiable sans risque ?
Idée: Diviser pour régner
Coût de production de logiciel qui
marche est trop élevé
20
La « Crise du Logiciel » (1960, 1970):
Solution
• Méthodes de construction de logiciel modulaire
• Il faut structurer les systèmes en composants pour:
• Faciliter la coopération des programmeurs,
• Favoriser les tests,
• Faciliter la maintenance du code,
• la réutilisation des codes, …
Coût de production de logiciel qui
marche est trop élevé
21
La « Crise du Logiciel » (1960, 1970):
22
Programmation orientée traitement
Axée sur les traitements
Que doit faire mon programme ?
• Centrée sur les procédures (opérations)
• On conçoit un ensemble de procédures pour
résoudre le problème,
• Chaque fonction ou procédure est associée à un
traitement particulier,
• On conçoit les structures de données pour faciliter
ces traitements.
• Les données sont indépendantes des
procédures
• Les données à traiter sont passées en arguments aux
procédures
Programmes = Algorithmes + structures de données
Exemple : langage C, pascal, …
23
Programmation orientée traitement
Limitation de cette approche :
• Un changement dans la structure des données peut
entraîner de profondes modifications dans l'organisation
des procédures.
• besoin de comprendre tout le code avant de pouvoir faire
une modification.
• il y a la difficulté de :
• Chercher les fonctions concernées par ce changement
• Pour les fonctions concernées :
• Ajout ou suppression d’arguments et de variables locales
• Ajout ou modification ou suppression d’instructions
Axée sur les traitements
Que doit faire mon programme ?
24
Programmation orientée objet
• Centrée sur les données
• Un programme est composé de plusieurs objets
qui contiennent:
• des données ”internes” appelés : attributs
• des traitements manipulant ces données internes
ou d’autres données, appelés : méthodes
• Les objets interagissent par envoie de
messages.
• Combinaisons des données et du code de
programmation.
Programmes = objets communiquant entre eux
Exemple : langage SmallTalk, C++, Python, Java
Axée sur les Données
De quoi doit être composé mon programme ?
25
Résumé
Problèmes du logiciel:
• Taille
• Coût : développement et maintenance
• principe du « software quality »
• comment faire des logiciels qui évoluent
• comment faciliter le travail collaboratif ?
Solutions :
• Modularité
• Réutiliser le code
Comment?
• Programmation procédurale : Fonctions et procédures
• Programmation objet: classes, objets et héritage
26
Programmation Orientée Objet
Principes de base la
Programmation Orientée
Objet
MERCI DE VOTRE ATTENTION

Contenu connexe

PDF
python-Cours Officiel POO Python-m103.pdf
PPTX
Introduction à l'objet - Deuxième année ISIMA
PPTX
Presentation1
PPTX
Esiea - 5A - Archi 1/3
PPTX
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
PPTX
Introduction au génie logiciel
PDF
UML Part1-Introduction Mansouri
PPTX
Concepts informatiques et curricula 31-10-2013
python-Cours Officiel POO Python-m103.pdf
Introduction à l'objet - Deuxième année ISIMA
Presentation1
Esiea - 5A - Archi 1/3
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Introduction au génie logiciel
UML Part1-Introduction Mansouri
Concepts informatiques et curricula 31-10-2013

Similaire à JAva chapitre 1 programmation orientée objet (20)

PPTX
8 bonnes raisons d'utiliser la gamme Lego Mindstorms dans vos cours
PDF
présentation sur la gestion des projets.pdf
PPTX
La "Data science" au service des entreprises
PDF
Cyproc1 formation-programmation-objet-en-cpp
PDF
Cas integration open_erp
PPTX
Class'Code Rencontre de lancement
PPT
1_Assurance Qualité et Génie Logiciel.ppt
PPTX
1-Intro to DB.pptx
PPTX
IoT Académie
PDF
SharePoint Online comme GED à la ville de Victoriaville - Congrès des archivi...
PPT
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
PDF
La Meta-programmation
PPTX
Réutilisation de code entre windows 8 et windows phone 8
PDF
M10266 formation-programmation-csharp-avec-microsoft-net-framework-4
PDF
Unified Modeling Language (Diagram Sequence/ Use Case / Class)
PDF
Cours 1 les principes de base
PDF
Uml partie 1
PPTX
Exemple-Epi-Trace-avec-un-robot.pptx
PDF
travaux-pratiques-m205-v1-0-62f6e905e2180.pdf
PDF
AntoineLambertCV
8 bonnes raisons d'utiliser la gamme Lego Mindstorms dans vos cours
présentation sur la gestion des projets.pdf
La "Data science" au service des entreprises
Cyproc1 formation-programmation-objet-en-cpp
Cas integration open_erp
Class'Code Rencontre de lancement
1_Assurance Qualité et Génie Logiciel.ppt
1-Intro to DB.pptx
IoT Académie
SharePoint Online comme GED à la ville de Victoriaville - Congrès des archivi...
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
La Meta-programmation
Réutilisation de code entre windows 8 et windows phone 8
M10266 formation-programmation-csharp-avec-microsoft-net-framework-4
Unified Modeling Language (Diagram Sequence/ Use Case / Class)
Cours 1 les principes de base
Uml partie 1
Exemple-Epi-Trace-avec-un-robot.pptx
travaux-pratiques-m205-v1-0-62f6e905e2180.pdf
AntoineLambertCV
Publicité

Dernier (11)

PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PPT
Présentation de l’Analyse et Concepti SI
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PDF
Regles sur la gestion de l’Eclairage public
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PDF
famille ................................
PDF
UX DESIGN presentation canva plan et slides
PPT
Icc courant de court circuit explication
PPTX
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
PPTX
Chapitre7-java------------------ Exception.pptx
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
Présentation de l’Analyse et Concepti SI
mon_expose_de_geophysique_disposotif_de_wener.pptx
Regles sur la gestion de l’Eclairage public
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
famille ................................
UX DESIGN presentation canva plan et slides
Icc courant de court circuit explication
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
Chapitre7-java------------------ Exception.pptx
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Publicité

JAva chapitre 1 programmation orientée objet

  • 2. Programmation Orientée Objet (POO) Présenté le: lundi 14 octobre 2024 Université de M’sila Faculté des Mathématiques et d’informatique Département d'informatique 2eme Année Licence Fondamentale Présenté par: ARIOUAT Youcef YOUCEF. ARIOUAT@Gmail.com
  • 3. 3 Intitulé de la Matière Programmation Orientée Objet (POO)
  • 4. 4 Informations pratiques • Semestre 3 • UEF2 • Coefficient: 3 • Crédits: 5 • 15 semaine : 67h:30’ (1Cours + 1TD + 1TP) • Mode d’évaluation : Continu (TD et TP) et Examen
  • 5. 5 Objectifs Introduire les concepts de base du langage Java • Traiter spécialement les thèmes tels que: • Technologie orientée objet, • Encapsulation, • Héritage, • Polymorphisme, • ………. • Développer les notions de base du langage en particulier: • les classes, les objets, les constructeurs, finalizer, • les méthodes et les variables d'instances, • les méthodes et les variables de classe, • les sous classes, • les interfaces et l'héritage multiple, • …….
  • 6. 6 Compétences visées • L'essence de la programmation objet en java • Lire et comprendre des programmes en java • Ecrire la solution d'un problème en java • Ecrire des applications sophistiquées (utilisation de structures de données avancées)
  • 7. 7 Contenu de la matière : 1. Introduction à la Programmation Orienté Objet • Notions de base • Historique • Utilisation des TAD 2. Les classes 3. Héritage et polymorphisme 4. Interface et implémentation 5. Interface graphique et Applet
  • 8. 8 Contenu de la matière : 1. Introduction à la Programmation Orienté Objet 2. Les classes • Déclaration des classes • Les constructeurs et destructeurs • Les méthodes d’accès • Encapsulation 3. Héritage et polymorphisme 4. Interface et implémentation 5. Interface graphique et Applet
  • 9. 9 Contenu de la matière : 1. Introduction à la Programmation Orienté Objet 2. Les classes 3. Héritage et polymorphisme • Généralités • Surcharge et redéfinition • Héritage : Références • Polymorphisme • Les classes abstraites 4. Interface et implémentation 5. Interface graphique et Applet
  • 10. 10 Contenu de la matière : 1. Introduction à la Programmation Orienté Objet 2. Les classes 3. Héritage et polymorphisme 4. Interface et implémentation • Principe • Application 5. Interface graphique et Applet
  • 11. 11 Contenu de la matière : 1. Introduction à la Programmation Orienté Objet 2. Les classes 3. Héritage et polymorphisme 4. Interface et implémentation 5. Interface graphique et Applet • Composants, gestionnaire d’affichage • Mise en page • Gestion des événements et écouteur • Applet
  • 12. 12 Références : • Le site officiel de Sun Microsystems : • fr.sun.com/ • Le livre Penser Java : • bruce-eckel.developpez.com/livres/java/traduction/tij2/ • Conception objet en java avec bluej • David Barnes. Pearson Education France • Java outside in • Bill Campbell. Cambridge University Press
  • 14. 14 Programmation Orientée Objet La Programmation Orientée Objet est: • Un paradigme de programmation • Un style de programmation. • Une méthodologie de programmation. • Une démarche permettant de modéliser et de résoudre un problème.
  • 15. 15 Programmation Orientée Objet Pour quoi la Programmation Orientée Objet ?
  • 16. 16 Quelques chiffres... • Évolution de la taille de Windows NT • Distribution Linux Red Hat (2001) • > 30 millions SLOC • ~10 millions SLOC pour Open Office • ~ 8 000 hommes-ans • navette spatiale > 50 millions LOC Année Système SLOC (Million) 1993 Windows NT 3.1 4-5 1994 Windows NT 3.5 7-8 1996 Windows NT 4.0 11-12 2000 Windows 2000 > 29 2001 Windows XP 40 2003 Windows Server 50
  • 17. 17 Développement de logiciels : • Une application peut comprendre des milliers de lignes de code • Systèmes bancaires, • systèmes de contrôle (l'électricité, les téléphones, l'aéroport), • Systèmes de simulation ou de modélisation • les domaines de la biologie, de l'économie Un système implique alors la participation de plusieurs programmeurs
  • 18. 18 Encore quelques chiffres... Répartition des coûts de développement • Les erreurs proviennent de : 6% spécification 5% conception 7% codage 15% test et validation 67% maintenance 56% exigence et spécification : 24% conception 10% codage 10% autres
  • 19. 19 La « Crise du Logiciel » (1960, 1970): Problème • Développer des logiciels de qualité à un coût acceptable Comment évaluer la qualité du code ? 1. le code marche-t-il ? 2. le code est-il compréhensible ? 3. le code est-il modifiable facilement ? 4. Le code est-il modifiable sans risque ? Idée: Diviser pour régner Coût de production de logiciel qui marche est trop élevé
  • 20. 20 La « Crise du Logiciel » (1960, 1970): Solution • Méthodes de construction de logiciel modulaire • Il faut structurer les systèmes en composants pour: • Faciliter la coopération des programmeurs, • Favoriser les tests, • Faciliter la maintenance du code, • la réutilisation des codes, … Coût de production de logiciel qui marche est trop élevé
  • 21. 21 La « Crise du Logiciel » (1960, 1970):
  • 22. 22 Programmation orientée traitement Axée sur les traitements Que doit faire mon programme ? • Centrée sur les procédures (opérations) • On conçoit un ensemble de procédures pour résoudre le problème, • Chaque fonction ou procédure est associée à un traitement particulier, • On conçoit les structures de données pour faciliter ces traitements. • Les données sont indépendantes des procédures • Les données à traiter sont passées en arguments aux procédures Programmes = Algorithmes + structures de données Exemple : langage C, pascal, …
  • 23. 23 Programmation orientée traitement Limitation de cette approche : • Un changement dans la structure des données peut entraîner de profondes modifications dans l'organisation des procédures. • besoin de comprendre tout le code avant de pouvoir faire une modification. • il y a la difficulté de : • Chercher les fonctions concernées par ce changement • Pour les fonctions concernées : • Ajout ou suppression d’arguments et de variables locales • Ajout ou modification ou suppression d’instructions Axée sur les traitements Que doit faire mon programme ?
  • 24. 24 Programmation orientée objet • Centrée sur les données • Un programme est composé de plusieurs objets qui contiennent: • des données ”internes” appelés : attributs • des traitements manipulant ces données internes ou d’autres données, appelés : méthodes • Les objets interagissent par envoie de messages. • Combinaisons des données et du code de programmation. Programmes = objets communiquant entre eux Exemple : langage SmallTalk, C++, Python, Java Axée sur les Données De quoi doit être composé mon programme ?
  • 25. 25 Résumé Problèmes du logiciel: • Taille • Coût : développement et maintenance • principe du « software quality » • comment faire des logiciels qui évoluent • comment faciliter le travail collaboratif ? Solutions : • Modularité • Réutiliser le code Comment? • Programmation procédurale : Fonctions et procédures • Programmation objet: classes, objets et héritage
  • 26. 26 Programmation Orientée Objet Principes de base la Programmation Orientée Objet
  • 27. MERCI DE VOTRE ATTENTION

Notes de l'éditeur

  • #2: Ce cours introduit la programmation orientée objet en l'illustrant en langage Java.
  • #3: Au cours de ce module vous allez apprendre un nouveau style de programmation qui est la POO Et ce a travers un langage le programmation OO bien connu JAVA
  • #4: Unité d’Enseignement Fondamentale Cours et TD par moi-même
  • #5: Description « officielle » du cours : Finalizer: En programmation orientée objet, le destructeur d'une classe est une méthode spéciale lancée lors de la destruction d'un objet afin de récupérer les ressources (principalement la mémoire vive)
  • #14: Un paradigme est un ensemble d’hypothèses, une manière de voir le monde ou de modéliser un problème. En informatique, un paradigme est une méthode générale, une démarche permettant de modéliser et de résoudre un problème.
  • #22: Que fait le programme ?
  • #23: Que fait le programme ?
  • #24: De quoi est composé le programme ? rassembler dans une même entité appelée objet les données et les traitements qui s'y appliquent.
  • #25: un module désigne une entité de données et d'instructions qui fournissent une solution à une (petite) partie bien définie d'un problème plus complexe. Un module peut faire appel à d'autres modules, leur transmettre des données et recevoir des données en retour. L'ensemble des modules ainsi reliés doit alors être capable de résoudre le problème global.