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

1
Info 323
Introduction à la Programmation
Objet et Java
2
Sommaire :
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)
3
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
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/
4
Références
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).
5
Présentation du langage Java
1992 : Sun Microsystems développe le langage Oak
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)
James Gosling
Historique
project Green
6
Le résumé des différentes
versions
7
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
8
Orienté objet
Les types sont définis par des classes
(sauf les types primitifs : int, float, boolean, char)
réutilisation
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
...
La classe Object (java.lang) est la racine de la hiérarchie
des classes
La définition d'une classe correspond à un fichier.
9
Un langage simple
Syntaxe proche de C et C++
Pas de pointeurs, juste des références
Ramasse-miette (garbage collector) intég
et automatique
Pas d'héritage multiple
10
Java est robuste
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.
11
Java est sécurisé
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 :
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
12
MonProg.java MonProg.class
Exécution de
MonProg
Java est Interpreté et Portable
Byte-Code Java "Virtual
Machine"
13
Java est Interpreté et Portable
14
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.
15
Java est Interpreté et Portable
Credo de Sun :
"Write Once,
Run Everywhere ! "
16
Java est Efficace et Dynamique
Le byte code est interprété, cependant :
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
17
Java est Réparti
Permet de créer
des pages HTML avec du code Java
des applications réparties
des applications client/serveur
Packages: java.net, java.rmi, java.idl
(CORBA).
Accès à la technologie J2EE
"Java 2 Enterprise Edition"
18
Java est multitâche
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 :
garbage collector (thread de basse
priorité)
java.lang.Thread, java.lang.Runnable
Implémentation propre à chaque JVM.
19
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),
IDE gratuits : Eclipse, NetBeans, BlueJ
utilisé dans le cours
Intégration dans les navigateur HTML :
Firefox (Mozilla)
Internet Explorer
etc..
20
Les outils
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
21
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)
1 / 4 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 !