2265U04 – Langage Java 2006-10-05 Présentation du langage

1
2265U04 Langage Java
2006-10-05
Présentation du langage
Java est le dernier de la famille des langages de programmation (comme Basic, Cobol, C,
C++).
Il a des caractéristiques importantes pour sa réussite :
portabilité des applications (exécution au travers de la Virtual Machine, VM)
la possibilité de développer une application dans
un environnement donné (ex : Mac) et d’ensuite la
faire fonctionner dans un autre environnement (ex :
PC).
toute application n’est pas portable d’un
environnement à l’autre :
o différence des matériels
Ex : processeurs
o différence des systèmes d’exploitation
Portabilité source :
l’application doit être
refabriquée dans
l’environnement ciblé.
Programmes sources Compilateur Programme exécutable en langage machine
de la machine cible (pour un environnement donné et un système d’exploitation
donné).
Le programme écrit en Java peut être exécuté dans
n’importe quel environnement et quel système
d’exploitation (100%).
Le langage crée un environnement virtuel VM Java
entre l’application et les systèmes d’exploitation. Par
conséquent, la portabilité devient 100%.
Dans le schéma traditionnel (de 3 couches), lorsque l’application fait une opération « 2
+ 3 », c’est le processeur (ex : Intel) qui fait le calcul. Or, dans le schéma Java (de 4
couches), cette opération est faite au niveau virtuel VM Java (en servant bien sûr du
processeur).
Applications
Systèmes d’exploitation
Matériels
Applications
Linux
Intel
Applications
Windows
Intel
Applications
Linux
Pour PC
Portabilité nulle
Portabilité source
Applications
Systèmes d’exploitation
Matériels
VMJava
2
Source Java Compilateur Exécutable Java « .class » VM
Inconvénients :
o un coût supplémentaire en temps d’exécution et en terme de stockage pour
l’application Java car tout calcul se fait au niveau VM au lieu du processeur
directement.
Auj., les limites en terme matériels ne posent plus de grands problèmes : la vitesse
de calcul du processeur et la capacité de stockage.
o Java n’est pas fait pour des applications de calculs très lourdes (ex : calculs
scientifiques intensifs)
o La performance de l’environnement virtuel
La performance accrue depuis ces dernières années
Java, orienté Objet
Ce qui n’est pas vraiment nouveau (ex : C++)
Java est plus qu’un langage (il est un environnement)
o Avec Java, en plus du langage, on propose une bibliothèque de classes
standardisée et très complète
Même si le langage est identique (ex : C, C++, etc.), lorsqu’on utilise des
bibliothèques différentes, la portabilité peut être nulle.
« bibliothèque » : un ensemble de fonctions qu’on utilise pour faire des tâches
courantes.
Ex : CreateWindow(…)
On appelle « Java Developpment Kit » (JDK) dans laquelle on trouve VM, outils
et bibliothèques.
o Un ensemble de spécifications (des composants) garantissant l’interopérabilité
Non seulement que l’application fabrique en Java est portable dans n’importe quel
système d’explication, mais aussi les composants de cette application peuvent être
« empruntés » dans d’autres applications en Java grâce aux spécifs (càd des règles
de dialogue).
Ces spécifications sont des documents (ou des cahier de charge) qui normalisent
les composants de Java. On parle alors de l’ « Architecture d’application », ou
J2EE (un langage et des bibliothèques avec des spécifs).
Quasiment tous les acteurs (Sun, IBM, Orale, etc.) parlent de la même chose avec
le terme J2EE (sauf Microsoft où l’on a « .NET »).
Java n’est pas « open source ». Il est à la propriété intellectuelle de Sun. Il est
gratuit, mais on ne peut pas le modifier.
« .NET » est en langage « C# ».
Mise en œuvre
JDK
o VM : java.exe
o Bibliothèques : .jar
o Outils de développement : compilateur.java .class
3
javac.exe
Juste pour tourner les applications en Java, il suffit installer JRE (càd VM +
Bibliothèques sans Outils de développement)
Versions
Version en vigueur : Version 1.5.07
Téléchargeable sur le site de Sun
Un environnement de développement intégré (Integred Developpment Environment,
IDE)
o Eclipse (sponsor IBM) : logiciel libre
Dérivation commerciale : WSAD (IBM)
o Netbeans (sponsor Sun)
Dérivation commerciale : Sun Java Studio
IDE est lui-même une application Java.
Exemple d’application Java
Une distinction :
stand-alone
Ex : Word, Excel
o mode caractère
Test et pédagogie
o mode graphique
Ex : Eclipse, Netbeans
composant
J2EE
Ex : applet, servlet
Exemple : application « Hello world » en mode caractère
class HelloWorldApp {
page 5
}
Rq : toute application Java est dans la classe.
« System » : c’est une classe
« .out » : c’est un objet
« .println( ) » : c’est une méthode
Résumé :
Les caractéristiques du langage JAVA :
Portabilité (à travers la VM)
Bibliothèque de classe très complète
Interopérabilité (à travers la même architecture d’application spécif, J2EE en vigueur)
Ex : J2EE (Sun) .NET (Microsoft)
Sur le plan fonctionnel, ils sont identiques.
4
Distinction : C++ & Java
En fonction du choix des logiciels :
Une grande partie des logiciels de base (càd le système lui-même) sont développés en langage
C (ou C++).
Le langage Java est essentiellement utilisé dans le développement des modules d’applications,
souvent orientée à l’utilisation sur le Web.
Ils sont des langages très proches l’un à l’autre (car ils sont des langages de 3ème génération,
L3G), mais dans l’architecture matériel, le langage Java est à un niveau plus évolué que le
langage C++.
Le langage 4ème génération (« L4G »)
Ce sont des langages de plus haut niveau. Ils sont utilisés dans le développement des
applications de gestion. On peut faire des paramétrages.
Ex : SAP, Windev
Orientation objet
Dans l’histoire des langages, il y a des langages :
Les tous premiers langages (de « rien du tout ») (non structuré)
Ex : FORTRAN, COBOL
Les langages sont des règles
1970 la naissance de la programmation structurée
Ex : Pascal (un langage spécifique pour l’enseignement de l’algorithme), Boucle,
Alternative
« Algorithme » : une suite ordonnée d’instruction pour passer à un résultat.
Langage C
« Programme = Algorithmes + Structure de données »
La modularité n’est pas assez fine et la réutilisation des modules est un problème : le
changement de la structure de données limite la modularité de l’algorithme.
Pour avoir une bonne utilisation des modules, il nécessite une modularité beaucoup
plus fine, ce qui entraine une augmentation du nombre de toutes petites modules.
1980 Orientation objet
Ex : C++, Java
Le programme est vu comme résultant de l’interaction d’un ensemble d’objets.
C’est une modularité au niveau d’objet : on crée des tous petits objets.
Objet & classe
Objet
A l’exemple de moduliser un compte bancaire, un objet compose de 2 parties :
o Données (interne) : attributs (ex : soldes, etc.)
o Méthodes : comportements (ex : débiter, créditer, etc.)
Rq : les comportements vont changer l’état des données.
Ex : compte.debiter(1000)
D’où « compte » est un objet
« debiter » est une méthode
5
Classe
Définir le comportement commun à des objets simulaires
C’est un modèle pour créer des objets. En effet, l’objet est une instance de classe
(instancier un objet créer un objet)
La classe prépare la base sur laquelle l’application se réalise
Ex : dans la classe « Compte », on définit les comportements « Solde », « débiter » et
« créditer », etc. Ensuite, on peut instancier des objets pour faire de l’application :
C = newcompte( )
C.debiter(1000)
L’implémentation : c’est la réalisation effective de l’objet (il est fondamental).
La spécification : c’est la façon d’utiliser les objets (c’est le cahier de charge).
Pour les utilisateurs, ils ne voient que la spécification (càd des différentes méthodes
qu’on peut appliquer sur l’objet) alors que seulement le développeur peut voir
l’implémentation (de l’objet).
Résumé :
Conception objet :
Fonctionnement du système :
Caractéristiques des objets (définies par des classes)
Attributs
Méthodes
Rq : l’objet est une instance d’une certaine classe. On parle d’instancier un objet dans
une classe.
2006-10-12
Exemples :
créer une classe « Employe » (le nom d’une classe commence tjs par le majuscule) dans
un fichier « Employe.java »
Public class Employe {
Private String nom ;
Private double salaire ;
Public Employe (String n, double s) {
nom = n ;
salaire = s ;
}
Public String getNom ( ) {
Return nom ;
}
Public String getSalaire ( ) {
Return salaire ;
}
Public void setNom (String n) {
nom = n ;
}
Public void setSalaire (double s) {
salaire = s ;
1 / 16 100%

2265U04 – Langage Java 2006-10-05 Présentation du langage

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 !