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