Info 323 Introduction à la Programmation Objet et Java Références

publicité
Sommaire :
Info 323
• Présentation du langage Java
• Programmation objet
• Déclaration des classes
• Éléments et syntaxe du langage
• Héritage et interfaces
• Librairie de classes (l'API)
• Les exception
• Interfaces graphiques (cours suivant)
Introduction à la Programmation
Objet et Java
1
2
Références
Références
•Différents tutoriels Java en ligne :
• Java - notions élémentaires, Bertrand Florat
• Un cours donné à ESIL, Touraïvane
• Programmation Java, Emmanuel Remy
• Developpez.com, site très utile, nombreux pointeurs
• Développons en Java, Jean Michel DOUDOUX
• Penser en java, Bruce Heckel
• Les fondements du langage Java, RM di Scala
• The Java Tutorial de Sun
• Quelques livres sur Java disponibles à la BU
Java la synthèse, Gilles Clavel & all. (InterEditions).
Programmer en Java, Claude Delannoy (Eyrolles).
Introduction à Java, Patrick Niemeyer (O'Reilly)
Comment programmer en Java, Deitel et Deitel (Goulet).
Algorithmes en Java : concepts fondamentaux, structures de
données, Robert Sedgewick (Pearson Education)
Java 2 pour les nuls, Barry Burdr (First interactive).
Java 2, Laura Lemay (CampusPress).
Java en action, Ian F. Darwin (O'Reilly).
Java in a Nutshell, édition française par David Flanagan (O'Reilly).
Au coeur de JAVA 2, Cay Horstmann, Gary Cornell (Campus
Press).
• Outils et Docummentation :
• http://www.oracle.com/technetwork/java/ Site officiel (JDK et doc)
• http://download.oracle.com/javase/1.5.0/docs/api/
• http://www.eclipse.org/
3
4
Présentation du langage Java
Le résumé des différentes
versions
Historique
• 1992 : Sun Microsystems développe le langage Oak
James Gosling
•
•
•
•
5 •
project Green
1993 : succès HTML (CERN) et d'Internet
1995 : sortie officielle du JDK (Java Development Kit)
1995 : Netscape prend la licence
1998 : Version 1.2, Java a été renommé Java 2
2004 : J2SE 5.0 (Java 2 Standard Edition, en fait J2SE 1.5.0)
6
Qu'est-ce que JAVA ?
D'après SUN, c'est un langage :
•
•
•
•
•
•
•
orienté objet,
simple,
robuste et sûr,
interprété,
indépendant de l'architecture et portable,
efficace et dynamique,
distribué, multitâches
Orienté objet
• Les types sont définis par des classes
(sauf les types primitifs : int, float, boolean, char)
• La définition d'une classe correspond à un fichier.
• Bibliothèque de classes (ou API), organisée en
paquetages (package)
– java.awt : pour les interfaces graphiques
– java.applet : pour créer des applets sur le Web
– ...
réutilisation
• La classe Object (java.lang) est la racine de la hiérarchie
des classes
7
8
Java est robuste
Un langage simple
•
•
•
•
• Syntaxe proche de C et C++
• Pas de pointeurs, juste des références …
• Ramasse-miette (garbage collector) intégré
et automatique
• Pas d'héritage multiple
9
Langage fortement typé,
Gestion de la mémoire par un Ramasse-miette ,
Pas d’accès direct à la mémoire (pas de pointeurs à la C),
Mécanisme d'exception,
– Accès à une référence null exception,
– division par 0 exception,
– etc…
• Compilateur contraignant (erreur si exception non gérée,
si utilisation d’une variable non affectée, ...),
• Contrôles effectués par interpréteur lors de exécution
• Seules les conversions sûres sont automatiques.
10
Java est sécurisé
Java est Interpreté et Portable
• Un programme Java qui plante ne menace pas le
système d'exploitation. Il ne peut pas y avoir
d'accès direct à la mémoire.
• L'accès au disque dur est contraignant pour une
applet :
MonProg.java
Exécution de
MonProg
– impossibilité d'ouvrir, lire, écrire ou effacer un
fichier sur le système de l'utilisateur
– impossibilité de lancer un autre programme
– les programmes ne peuvent pas se connecter à
d'autres sites Web que celui dont ils proviennent
11
MonProg.class
Byte-Code
12
Java "Virtual
Machine"
Java est Interpreté et Portable
Java est Interpreté et Portable
• Le compilateur Java génère du byte code.
• La Machine Virtuelle Java (JVM) est présente sur Unix,
Windows, Mac, OS/2, Firefox, IE, ...
• La taille des types primitifs est indépendante de la
plate-forme.
• Java supporte un code source écrit en Unicode.
• Java est accompagné de librairies standards.
• Java est adapté à INTERNET, les applets sont
généralement de petite taille. Chaque navigateur possède
sa propre machine virtuelle.
13
14
Java est Interpreté et Portable
Java est Efficace et Dynamique
Credo de Sun :
Le byte code est interprété, cependant :
"Write Once,
Run Everywhere ! "
• Les interpréteurs intègrent souvent des techniques
de Compilation en code machine à la volée
• Il existe aussi des compilateurs qui génèrent du
code natif (même si c'est interdit par les spec Java)
• Le Chargement des classes se fait dynamiquement
lors de l'exécution, lorsqu'elles sont nécessaires
15
16
Java est multitâche
Java est Réparti
• Java permet l'utilisation de threads qui sont des
unités d'exécution isolées. La JVM, elle même,
utilise plusieurs threads.
• Threads intégrés au langage et aux API :
• Permet de créer
– des pages HTML avec du code Java
– des applications réparties
– des applications client/serveur
– garbage collector (thread de basse
priorité)
– java.lang.Thread, java.lang.Runnable
• Packages: java.net, java.rmi, java.idl
(CORBA).
• Accès à la technologie J2EE
"Java 2 Enterprise Edition"
17
• Implémentation propre à chaque JVM.
18
Les outils
Les outils
• Environnements de développement :
– Sun JDK (compilateur, interpréteur,...)
– IDE (Integrated Development Environment)
commerciaux :
• WebSphere Studio (IBM),
• Forte for Java(Sun),
• Jbuilder (Borland),
utilisé dans le cours
– IDE gratuits : Eclipse, NetBeans, BlueJ
• Intégration dans les navigateur HTML :
– Firefox (Mozilla)
– Internet Explorer
– etc..
19
Les points faibles de Java
• Le monde Java bouge beaucoup
 de nombreuses évolutions
• Les machines virtuelles Java (JVM) sont encore lentes.
• Java est gourmand en mémoire
• Java reste la propriétaire (Sun, Oracle)
 (pas de soutient de la part de Microsoft)
21
Java Development Kit
Nom
Description
java.exe
Machine virtuelle Java, permet
l'exécution des programmes
javac.exe
Compilateur Java
appletviewer.exe Machine virtuelle Java permettant
l'exécution des applets
jar.exe
Permet la création et la manipulation
d'Archives Java (JAR)
javadoc.exe
Générateur de documentation Java, au
format HTML
20
Téléchargement