1 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Programmation Orienté
1 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Programmation Orientée Objet : Application en JAVA 2 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI OBJECTIFS ET PRE-REQUIS L'objectif de ce cours est d'apprendre aux étudiants les concepts de base de la programmation orientée objet appliquée au langage Java (Ils apprendront à programmer des interfaces homme–machine simple et à ce connecter via java à une base de donnée). PRE-REQUIS Le bon déroulement de ce cours suppose la maîtrise des notions de base de l’algorithmique et des connaissances en programmation structurée appliquée au langage C . OBJECTIFS 3 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Chapitre 1 : Développement logiciel Chapitre 2 : Langage Java Chapitre 3 : Objet et classe-Application à Java Chapitre 4 : Mes premiers applications en ligne de commande Chapitre 5 : Héritage-Polymorphisme -Classe abstraite Chapitre 6 : Exception SOMMAIRE 4 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Bibliographie Livres/articles, liens internet MOOCs Jean Michel DOUDOUX, Développons en JAVA, http://www.jmdoudoux.fr/java,1999-2013 Gauthier Picard , Langage et Concepts de Programmation Orientée-Objet , École Nationale Supérieure des Mines de Saint-Étienne; Pôle Informatique 2008/2009. GUI Programming –Java, http://www3.ntu.edu.sg/home.ehchua/programming/java/J4a_GUI.html Emmanuel Puybaret, les cahiers du programmeur Java, 3ème édition, EYROLLES ohttps://www.coursera.org/course/initprogjava o5 Septembre -27 Octobre 2014 oEPFL ohttps://www.coursera.org/course/java-fr oFeb 17th 2014 (7 weeks long) oEPFL 5 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI 2 Méthodes et langages Langages de programmation 1 CHAPITRE 1 Développement Logiciel 3 Ecriture d’un programme 6 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI 6 Méthodes et Langages Analyse Conception Implémentation Tests Maintenance SADT, SA-RT, MERISE, OMT, UML, … Fortran, Cobol, C, SmallTalk, Ada, C++, Java, … Cycle de développement ? Cycle de vie ? 1 7 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI 7 Les langages de programmation 2 Paradigme de programmation Un programme est une solution à un problème. Cette solution est formulée dans un langage de programmation suivant un style de programmation informatique appelé paradigme. Ce dernier fournit la vue qu’à le développeur de l’exécution de son programme. Les paradigmes peuvent être regroupés en grandes familles dont les plus connues sont: La programmation impérative La programmation fonctionnelle La programmation Orientée objet La programmation déclarative La programmation évènementielle La programmation orientée agent La programmation orientée aspect La programmation concurrente La programmation séquentielle La programmation orientée contrat Nous allons nous intéresser dans les lignes qui suivent aux trois premiers types ou paradigmes. 8 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Les langages de programmation 2 Programmation impérative C’est un paradigme pour lequel la résolution des problèmes se fait de façon séquentielle. Le style proposé consiste à décrire un ensemble d’opérations à être exécutées séquentiellement afin de modifier l’état du programme en question. On a pour ce paradigme, deux types de programmation : la programmation structurée et la programmation procédurale. Programmation structurée Née 1970, Ce style a tendance à limiter l’utilisation de l’instruction goto à des cas inhabituels. Le Pascal se trouvent dans la catégorie des langages qui adoptent ce style. Cependant tous les langages de programmation modernes intègrent ce paradigme à travers les structures de contrôle telles que while, for, if … then … else. Programmation procédurale Ce type de programmation malgré qu’il soit impératif se distingue assez bien de la programmation structurée. En plus d’être plus évolué, il intègre le paradigme structuré et permet pour une application de découper le code, l’organiser de sorte que celui-ci soit bien structuré, compréhensible et plus facile déboguer. En effet, ce paradigme comme son nom l’indique, introduit la notion de procédure qui est en fait une série d’instructions à exécuter. 9 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Les langages de programmation 2 Programmation Fonctionnelle Ce paradigme tient son origine du langage mathématique qui traite des fonctions. Une bonne compréhension de ce paradigme passe par une comparaison avec la programmation de type procédural. En effet, le paradigme fonctionnel se distingue fort de ce dernier en ce qui concerne la mutation des données. Le paradigme fonctionnel est conditionné à produire un résultat unique par transformations successives de l’ensemble des données d’entrées et tout cela sans affectation de variables. La notion de variable n’y est même pas applicable Dans le paradigme fonctionnel, une application n’est alors vue que comme une fonction mathématique. Exemple de langage fonctionnel : Haskell, Lisp, Scheme Programmation Orientée Objet Les développeurs peuvent considérer le programme comme une collection d’objets en interaction. Elle consiste en la définition et l’assemblage de briques logicielles appelées objets (comme en Smalltalk) 10 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Les langages de programmation 2 Programmation Orientée Objet On peut distinguer dans ce paradigme : Programmation orientée prototype, qui simplifie et rend plus flexible la programmation orientée objet Programmation orientée classe, à comparer à la Programmation orientée prototype (dans le contexte de la programmation orientée objet) Programmation orientée composant (comme en OLE) Exemple de langage orienté objet : C++, Java, C#, Python,… Programmation déclarative Consistant à déclarer les données du problème, puis à demander au programme de le résoudre Programmation descriptive, à l'expressivité réduite, qui permet de décrire des structures de données (par exemple, HTML, XML ou Latex) Programmation fonctionnelle, avec laquelle un programme est une fonction au sens mathématique du terme Programmation logique, consistant à exprimer les problèmes et les algorithmes sous forme de prédicats (comme en Prolog) Programmation par contraintes, à comparer à la programmation logique 11 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Langages de programmation Traitement 1 Données Traitement 2 Traitement 3 Un programme est composé de plusieurs procédures (ou fonctions) : qui effectuent un traitement sur des données (procédure) qui retournent une valeur après leur invocation (fonction) Certains langages ne distinguent pas procédures et fonctions. Exemples de langages procéduraux ou fonctionnels : Fortran, Lisp, C, Pascal … 2 Illustration Programmation impérative 12 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI 12 Traitement 1 Données Traitement 2 Traitement 3 Exemple de programme procédural C 2 Langages de programmation 13 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Langages de programmation Un programme est composé de plusieurs objets qui contiennent : des données "internes" des traitements manipulant ces données internes ou d'autres données Les données d'un objet sont appelés ses attributs et ses traitements sont ses méthodes (ou opérations). Exemples de langages orientés-objet : SmallTalk, C++, Java, … D D D D D T T T T T 2 Programmation orientée objet : illustration 14 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Extrait t MOOC EPFL Programmation Java 15 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Des éléments de rappel : données et traitements Extrait t MOOC EPFL Programmation Java 16 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Variables et types Une variable est caractérisée par : oSon identificateur, qui est le nom par lequel la donnée est désignée oSon type, qui définit de quel « genre » est la donnée contenue dans la variable oSa valeur, exemple si la donnée est un nombre sa valeur pourra être 12 ou 3.18 Si je dois déclarer une variable en java, je dois décider : oDu nom de la variable oDu type de la variable oEt de la valeur initiale de la variable Ex : int n = 4; int nCarre ; 17 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Variables et types Noms de variable Extrait t MOOC EPFL Programmation Java 18 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Nommage des variables En Java, bien que ce ne soit pas requis par le compilateur, la convention est d’écrire le nom des variables en commençant par une minuscule, et commencer les mots suivants par une majuscule. Par exemple, on utilisera nombreDePoints plutôt que NombreDePoints ou nombre_de_points Affectation L’exécution d’une affectation se décompose en deux temps : int n = 5; nCarre = n*n ; ( = est le signe d’affectation) On commence par évaluer l’expression n*n puis on stocke dans la variable nommée nCarree la valeur 25. Syntaxe : nom_de_variable = expression ; // Une expression calcule une valeur qui doit être de même type que la variable. 19 P O O 1 Cours POO 1- JAVA Dr. Ing/PhD Bernabé BATCHAKUI Ecriture d’un programme 3 Déclaration d’une constante Il peut arriver que la valeur d’une variable ne doit pas changer après son initialisation. Dans ce cas, il faut ajouter devant la déclaration de cette variable , le mot clé final. final type identificateur = valeur_initiale ; Exemple final int n = 15 ; Dans ce cas on ne peut uploads/Management/ cours-poo-java.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ToH5k06HpPuM2S0kl9tUBPqbzkyvYJJ19w9oByL6ni8P3o9sKp3cyj5RIX714sRKiynW643IJYcqFHEW2egBzZt5.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/KOuOxtOoFRdrLGBnAeaOrSiTn9TIRuxSJgtoLDWHVTigWiN7XYaLicDV4BhmOxTBlobXJmAvmowJRFjB7gfdWRxj.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/liypReVpkyFdIwfbG9phdhbeFvFA4NLoDTJnEt4vKRMAGEDFNkcJ19x2gMTtDtpvtIHQk6624qMlN4SJEcrDZFGC.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/g2ZBwJgwGsRgpmAdgXBEYVMQYqRfwZJwGXEvWhJyLut43hI9FdfiK3K3cLlX4CzUPRph2YI9w37Ji737GHZyEayT.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/yIOMKSh8afgTxkUsk9dQ1Pk3By3yqsXBl98Kg1Di0pN7quAg3QHYJgW9owXNsVD7kFkCqpOQYaH8bpxFEsMHWdPH.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/VJAhdXEcgLudC0ugmNBSciaZziu86pCWPql4zUbtXdPvgdJ2pcvOsRZ9LsaJwrxhd24ZMMmye4wqxTOlx4qvU8DS.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/SVTJggwb4UBY2WaOyktx0vJH3zEdRVzWKL0gKp4TqXTbMY8nWtMTN74vkDVqr6iHfviAPo89hVQCWrlQ9Js4Isgz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jkQAcvqEjoqKlMp88vPMxh3Dkc38rzMyjihrOwRCyWudxEAaUfkeSShWks6xBQf4LI14JvVnwDpgPDhUuUN9kNQQ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/KRCOlQeIRCW33rlIUduTMKA4aH32dOWsBwYMJA6DsXftbMqV1kuWih8AsskbsaW4P3gULcxyP8pW0WcHrxzN90PY.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/vq94VEWPCf1ZZJVmibNuclB564E2JnFkXleWkOFsfOtSlhYYUbRiMfyccKgJmumgU3aSxMwdL4ou0H4BbBr86Umm.png)
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 09, 2021
- Catégorie Management
- Langue French
- Taille du fichier 3.8909MB