Programmation orientée objet - MC-II1
Transcription
Programmation orientée objet - MC-II1
Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet MC-II1 - Cours 1 J. Villemejane - [email protected] IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2013-2014 1/11 Langages de programmation Programmation orientée objet Langage Java - POO Plan du cours 1 Langages de programmation Langages de haut niveau Différentes approches de programmation 2 Programmation orientée objet Des classes et des objets Fondements de la programmation orientée objet 3 Langage Java Différents environnements pour différentes applications Contenu des JDK et des API 2/11 Langages de programmation Programmation orientée objet Langage Java - POO Langages de programmation Langages de haut niveau Notion d’abstraction Suppression de l’information non essentielle à la compréhension du programme 3/11 Langages de programmation Programmation orientée objet Langage Java - POO Langages de programmation Différentes approches de programmation Différents niveaux d’abstraction, amenant différentes approches. Programmation procédurale Axé sur les traitements : le problème est déoupé en taches de plus en plus détaillées ⇒ Programmes = Algorithmes + structures de données Exemple : langage C Programmation Orientée Objet (POO) Axé sur les données : le problème est découpé en objets qui communiquent entre eux par envoi de messages ⇒ Programmes = objets communiquant entre eux Exemple : langage C++, Java 4/11 Langages de programmation Programmation orientée objet Langage Java - POO Langages de programmation Différentes approches de programmation Différents niveaux d’abstraction, amenant différentes approches. Programmation procédurale Axé sur les traitements : le problème est déoupé en taches de plus en plus détaillées ⇒ Programmes = Algorithmes + structures de données Exemple : langage C Programmation Orientée Objet (POO) Axé sur les données : le problème est découpé en objets qui communiquent entre eux par envoi de messages ⇒ Programmes = objets communiquant entre eux Exemple : langage C++, Java 4/11 Langages de programmation Programmation orientée objet Langage Java - POO Langages de programmation Différentes approches de programmation Différents niveaux d’abstraction, amenant différentes approches. Programmation procédurale Axé sur les traitements : le problème est déoupé en taches de plus en plus détaillées ⇒ Programmes = Algorithmes + structures de données Exemple : langage C Programmation Orientée Objet (POO) Axé sur les données : le problème est découpé en objets qui communiquent entre eux par envoi de messages ⇒ Programmes = objets communiquant entre eux Exemple : langage C++, Java 4/11 Langages de programmation Programmation orientée objet Langage Java - POO Langages de programmation Différentes approches de programmation 5/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Notion d’objets 6/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Des classes et des objets Classe : rassemblement de différentes données et fonctions Objet : instance d’une classe 7/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Des classes et des objets Classe : rassemblement de différentes données et fonctions Objet : instance d’une classe 7/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Fondements de la programmation orientée objet Encapsulation : regroupement de différentes données et fonctions sous une même entité Héritage : arborescence de classes permettant la spécialisation Polymorphisme : réaction différente de deux objets (de classe différente) à une même procédure 8/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Fondements de la programmation orientée objet Encapsulation : regroupement de différentes données et fonctions sous une même entité Héritage : arborescence de classes permettant la spécialisation Polymorphisme : réaction différente de deux objets (de classe 8/11 Langages de programmation Programmation orientée objet Langage Java - POO Programmation orientée objet Fondements de la programmation orientée objet Encapsulation : regroupement de différentes données et fonctions sous une même entité Héritage : arborescence de classes permettant la spécialisation Polymorphisme : réaction différente de deux objets (de classe différente) à une même procédure 8/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Créé par James Gosling et Patrick Naughton (Sun Microsystems) Présenté officiellement le 23 mai 1995 au SunWorld Récemment racheté par la société Oracle Langage semi-compilé / semi-interprété I I Nécessite une étape de compilation (javac) Nécessite un logiciel d’interprétation (Machines virtuelles) Langage portable I Machine virtuelle développée pour chacune des plate-formes (Windows, Unix) Langage orienté web I I I I Développement d’applications client-serveur Côté client, les applets Côté serveur, les servlets plus récemment JSP (JavaServer Pages) substitue de PHP, ASP et ASP.NET 9/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Créé par James Gosling et Patrick Naughton (Sun Microsystems) Présenté officiellement le 23 mai 1995 au SunWorld Récemment racheté par la société Oracle Langage semi-compilé / semi-interprété I I Nécessite une étape de compilation (javac) Nécessite un logiciel d’interprétation (Machines virtuelles) Langage portable I Machine virtuelle développée pour chacune des plate-formes (Windows, Unix) Langage orienté web I I I I Développement d’applications client-serveur Côté client, les applets Côté serveur, les servlets plus récemment JSP (JavaServer Pages) substitue de PHP, ASP et ASP.NET 9/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Créé par James Gosling et Patrick Naughton (Sun Microsystems) Présenté officiellement le 23 mai 1995 au SunWorld Récemment racheté par la société Oracle Langage semi-compilé / semi-interprété I I Nécessite une étape de compilation (javac) Nécessite un logiciel d’interprétation (Machines virtuelles) Langage portable I Machine virtuelle développée pour chacune des plate-formes (Windows, Unix) Langage orienté web I I I I Développement d’applications client-serveur Côté client, les applets Côté serveur, les servlets plus récemment JSP (JavaServer Pages) substitue de PHP, ASP et ASP.NET 9/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Créé par James Gosling et Patrick Naughton (Sun Microsystems) Présenté officiellement le 23 mai 1995 au SunWorld Récemment racheté par la société Oracle Langage semi-compilé / semi-interprété I I Nécessite une étape de compilation (javac) Nécessite un logiciel d’interprétation (Machines virtuelles) Langage portable I Machine virtuelle développée pour chacune des plate-formes (Windows, Unix) Langage orienté web I I I I Développement d’applications client-serveur Côté client, les applets Côté serveur, les servlets plus récemment JSP (JavaServer Pages) substitue de PHP, ASP et ASP.NET 9/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Créé par James Gosling et Patrick Naughton (Sun Microsystems) Présenté officiellement le 23 mai 1995 au SunWorld Récemment racheté par la société Oracle Langage semi-compilé / semi-interprété I I Nécessite une étape de compilation (javac) Nécessite un logiciel d’interprétation (Machines virtuelles) Langage portable I Machine virtuelle développée pour chacune des plate-formes (Windows, Unix) Langage orienté web I I I I Développement d’applications client-serveur Côté client, les applets Côté serveur, les servlets plus récemment JSP (JavaServer Pages) substitue de PHP, ASP et ASP.NET 9/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Différents environnements pour différentes applications des applications, sous forme de fenêtre ou de console des applets, incorporés à des pages web des applications pour appareils mobiles et bien d’autres Le JDK : Java Development Kit Java Standard Edition (SE) : applets ou des applications standard Java Enterprise Edition (EE) : applications serveurs (base de données et servlets) Java Micro Edition (ME) : applications pour systèmes embarqués, téléphones, PDA 10/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Différents environnements pour différentes applications des applications, sous forme de fenêtre ou de console des applets, incorporés à des pages web des applications pour appareils mobiles et bien d’autres Le JDK : Java Development Kit Java Standard Edition (SE) : applets ou des applications standard Java Enterprise Edition (EE) : applications serveurs (base de données et servlets) Java Micro Edition (ME) : applications pour systèmes embarqués, téléphones, PDA 10/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Contenu des JDK et des API Que contient un JDK ? le compilateur javac l’interpréteur java (machine virtuelle) un visualisateur d’applet appletviewer l’ensemble des classes standard appelé API (Application Programming Interface) un générateur de documentation javadoc API, la boite à outils Java Classes prédéfinies d’usage général (plus de 3700) Packages les plus usuels : java.lang : classes de base du langage java.io : classes nécessaires aux entrées / sorties java.awt : classes nécessaires à la création d’interface utilisateur java.awt.event : classes nécessaires à la gestion des évènements 11/11 Langages de programmation Programmation orientée objet Langage Java - POO Langage Java Contenu des JDK et des API Que contient un JDK ? le compilateur javac l’interpréteur java (machine virtuelle) un visualisateur d’applet appletviewer l’ensemble des classes standard appelé API (Application Programming Interface) un générateur de documentation javadoc API, la boite à outils Java Classes prédéfinies d’usage général (plus de 3700) Packages les plus usuels : java.lang : classes de base du langage java.io : classes nécessaires aux entrées / sorties java.awt : classes nécessaires à la création d’interface utilisateur java.awt.event : classes nécessaires à la gestion des évènements 11/11