Institut Universitaire de Technologie de CRETEIL-VITRY
DĂ©partement de GĂ©nie Électrique et Informatique Industrielle
MC-II1 - PROGRAMMATION ORIENTEE OBJET
COURS
Java
Année universitaire 2013-2014
J. VILLEMEJANE - [email protected]
GEII - MC-II1 C 1
Programmation orientée objet (POO)
1. De la programmation procédurale à la programmation orientée objet
Les premiers langages de programmation Ă©taient gĂ©nĂ©ralement constituĂ©s d’une suite d’instructions s’exĂ©cutant de
façon linĂ©aire. Mais l’écriture d’une sĂ©quence d’instructions ligne Ă  ligne Ă©tait souvent fastidieuse et non appropriĂ©e Ă  la
rĂ©alisation d’application plus consĂ©quente.
L’approche procĂ©durale, permettant de structurer un programme, a permis d’amĂ©liorer la production de logiciel.
Des ensemble d’instructions ont pu ĂȘtre regroupĂ©es pour former des "fonctions" ou "procĂ©dures". Bien que cette nouvelle
approche fĂ»t une nette avancĂ©e dans le domaine de la programmation, elle n’était pas encore suïŹƒsante pour mener Ă  bien
de lourds projets informatiques, en particulier dans la gestion des données séparée des procédures.
Une couche supplĂ©mentaire a Ă©tĂ© ajoutĂ©e aïŹn de pouvoir associer les donnĂ©es et les procĂ©dures ensemble, regrou-
pĂ©es sous le terme d’objet. La programmation orientĂ©e objet va alors permettre (comme on le verra dans ce cours)
d’amĂ©liorer la rĂ©utilisation des outils et de favoriser leur spĂ©cialisation.
L’approche objet est fondĂ©e sur trois techniques :
— l’encapsulation : regroupement dans une mĂȘme entitĂ© (appelĂ©e classe) des donnĂ©es et des procĂ©dures ;
— l’hĂ©ritage : arborescence (ou hiĂ©rarchie) de classes permettant la spĂ©cialisation plus ou moins poussĂ©e d’une
classe ;
— le polymorphisme : rĂ©action diïŹ€Ă©rente de deux objets (de classe diïŹ€Ă©rente) Ă  une mĂȘme procĂ©dure.
IUT Créteil - GEII - MC-II1 - PROGRAMMATION ORIENTEE OBJET COURS
2. Et Java dans tout ça ?
Le langage Java est justement un des langages de programmation informatiques orientés objet les plus répandus dans
le monde (l’autre Ă©tant le C++). Java a Ă©tĂ© crĂ©Ă© par James Gosling et Patrick Naughton, employĂ©s de Sun Microsystems
(rachetĂ© rĂ©cemment par Oracle). Il a Ă©tĂ© prĂ©sentĂ© oïŹƒciellement le 23 mai 1995 au SunWorld.
2.1. Un langage portable grĂące aux machines virtuelles
La particularité principale de Java est que les logiciels écrits dans ce langage sont trÚs facilement portables sur
plusieurs systĂšmes d’exploitation, avec peu voire aucune modiïŹcation. La portabilitĂ© du code Java est assurĂ©e par la
machine virtuelle. La machine virtuelle eïŹ€ectue la traduction et l’exĂ©cution du bytecode en code natif. On parle alors
de langage semi-compilé ou semi-interprété.
2.2. DiïŹ€Ă©rents types d’applications
Il est possible de dĂ©velopper diïŹ€Ă©rents types d’applications :
— des applications, sous forme de fenĂȘtre ou de console ;
— des applets, qui sont des programmes Java incorporĂ©s Ă  des pages web ;
— des applications pour appareils mobiles (J2ME) ;
— et bien d’autres ! (J2EE : version entreprise, J3D : pour la 3D...
Java a donnĂ© naissance Ă  un systĂšme d’exploitation (JavaOS), Ă  des environnements de dĂ©veloppement (eclipse/-
JDK), des machines virtuelles (MSJVM, JRE) applicatives multi plates-formes (JVM), une bibliothĂšque de conception
d’interface graphique (AWT/Swing).
2.3. Un langage pour le web
Java permet de dĂ©velopper des applications client-serveur. CĂŽtĂ© client, les applets sont Ă  l’origine de la notoriĂ©tĂ©
du langage. C’est surtout cĂŽtĂ© serveur que Java s’est imposĂ© dans le milieu de l’entreprise grĂące aux servlets, le pendant
serveur des applets, et plus récemment les JSP (JavaServer Pages) qui peuvent se substituer à PHP, ASP et ASP.NET.
3. Environnements de développement
3.1. Le JDK - Java Development Kit
C’est l’environnement minimal distribuĂ© par Sun, puis Oracle, pour les diïŹ€Ă©rents systĂšmes d’exploitation. Actuelle-
ment, la derniÚre version proposée par Oracle est la version 7 pour la version standard.
Il existe plusieurs Ă©ditions du JDK :
—Java Standard Edition (SE) : pour dĂ©velopper des applets ou des applications standard.
—Java Enterprise Edition (EE) : pour dĂ©velopper des applications serveurs (base de donnĂ©es et servlets).
—Java Micro Edition (ME) : pour dĂ©velopper des applications pour systĂšmes embarquĂ©s, tĂ©lĂ©phones, PDA.
3.2. Que contient le 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
3.3. L’API de Java
L’API est un ensemble de classes prĂ©dĂ©ïŹnies d’usage gĂ©nĂ©ral qui constituent une boite Ă  outils pour les dĂ©velop-
peurs.
Les classes sont regroupĂ©es en packages, permettant de faciliter la classiïŹcation des plus de 3 700 classes que pro-
posent en standard l’API.
Une documentation de l’ensemble des classes de l’API est disponible sur le site d’Oracle (pour la version JavaSE 6) :
http ://download.oracle.com/javase/6/docs/api/index.html
–3–
IUT Créteil - GEII - MC-II1 - PROGRAMMATION ORIENTEE OBJET COURS
Les packages les plus usuels sont les suivants :
—java.lang : classes de base du langage (chaines, nombres, maths, processus, exceptions...)
—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
Les classes du package java.lang sont importées par défaut. Pour toutes les autres, il est nécessaire de les importer
manuellement grĂące Ă  la commande import.
3.4. Les environnements intégrés
Il existe plusieurs environnements de développement pour Java (encore appelés IDE) :
— Eclipse
— NetBeans
— ...
Ces derniers permettent de dĂ©velopper intĂ©gralement une application en Java en rassemblant l’ensemble des outils
nĂ©cessaires Ă  l’écriture et Ă  la compilation des codes sources.
–4–
GEII - MC-II1 C 2
Java : la syntaxe
La syntaxe du langage Java est proche de celle du C++ et donc proche de celle du C.
1. Conventions d’écriture
Les rĂšgles suivantes sont des conventions qui ont Ă©tĂ© adoptĂ©es par les concepteurs de Java et sont d’usage courant par
les développeurs.
— Les noms des classes commencent par une majuscule
pour un nom composé : NomCompose
— Les noms de constantes doivent ĂȘtre en majuscule
NOM ou NOM_COMPOSE
— Les noms des autres attributs et mĂ©thodes commencent par des minuscules
nom ou nomCompose
2. Variables, Opérateurs et Tableaux de variables
2.1. Variables
Une variable est caractérisée par :
—son adresse : endroit de stockage en mĂ©moire du systĂšme (RAM gĂ©nĂ©ralement) ;
—son type : nature de l’information dĂ©terminant aussi la taille en mĂ©moire d’une variable ;
— son identiïŹcateur : nom de la variable ;
—sa valeur : contenu de la variable.
Il existe 4 types simples de variables : booléens,entiers,réels et caractÚres.
Type Valeur Nb de bits Par défaut
boolean true or false 1 false
char Unicode 16 ’˘
0000’
byte entier signé 8 0
int entier signé 32 0
ïŹ‚oat IEEE 754 32 0.0
double IEEE 754 64 0.0
La dĂ©claration d’une variable se fait de la façon suivante :
1int i ;
2double j , k =5 . 0 ;
2.2. Opérateurs
Les opĂ©rateurs permettent de faire des opĂ©rations sur des variables du mĂȘme type.
Le principal opĂ©rateur est l’aïŹ€ectation (=). Il permet d’aïŹ€ecter une valeur (placĂ©e Ă  droite du signe Ă©gal) Ă  une
variable (placée à gauche du signe égal).
1 i =35;
2 k =i+25.1;
1 / 32 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest trÚs important pour nous !