Chap1 Introduction Java
Chap1 Introduction Java
Chapitre 1: Introduction à
la programmation orientée objet et Java
La programmation orientée objet consiste à représenter les objets du monde réel sous forme d'objets
conceptuels. Chaque objet encapsule des propriétés (attributs) et des opérations (méthodes).
Exemple: pour la gestion des voitures dans un parking, on peut définir les objets: voitures, tickets, temps.
Dans la programmation orientée objet on associe traitement et données. On Définit des entités fermées:
classe. Lors de l'exécution, on crée des objets qui traitent les informations.
La notion de classe est équivalente à la notion de type. Et la notion d'objet est équivalente à la notion
d'espace mémoire. Chaque objet possède une référence: c'est l'identificateur d'objet. Un objet est une
instance de sa classe.
Explication:
Voiture: la classe
V1: référence d'un objet de type Voiture
Un objet est créé en mémoire qui contient les attributs (123 et 3078) et les méthodes de V1.
2. Pourquoi java
Java est un langage de plus en plus préféré par les développeurs pour ses qualités:
Simplicité:
Java est un langage inspiré du Langage C++, dans sa syntaxe. Sa syntaxe est simple. Ne contient que les
structures fréquemment utilisés par les développeurs. Il est périodiquement amélioré pour intégrer de
nouvelles structures.
Orienté objet:
C'est une technique qui simplifie le développement des applications en se concentrant sur les objets
plutôt que les opérations.
Portabilité:
La diversité des plateformes et le coût de développement ont poussés à créer un langage indépendant
des plateformes (Windows, GNU/Linux, Android…). Un programme java compilé sous une plateforme (par
exemple Windows) fonctionnera sans problème sous une autre plateforme (par exemple Linux).
Les objets non utiles sont détruits par l'interpréteur grâce à un ramasse-miette (garbage collector).
Auparavant cette tâche est effectuée par le programmeur et elle était une source d'erreurs difficiles à
corriger.
Java possède une importante bibliothèque de routines permettant de gérer les protocoles TCP/IP tels
que HTTP et FTP. Les applications Java peuvent charger des objets sur Internet et y accéder via des
URL avec la même facilité qu’elles accèdent à un fichier local sur le système.
Fiabilité
Java a été conçu pour que les programmes qui l’utilisent soient fiables sous différents aspects. Sa
conception encourage le programmeur à traquer préventivement les éventuels problèmes, à lancer
des vérifications dynamiques en cours d’exécution et à éliminer les situations génératrices d’erreurs...
La seule et unique grosse différence entre C/C++ et Java réside dans le fait que ce dernier intègre un
modèle de pointeur qui écarte les risques d’écrasement de la mémoire et d’endommagement des
données.
Sécurité
Java a été conçu pour être exploité dans des environnements serveur et distribués. Dans ce but, la
sécurité n’a pas été négligée. Java permet la construction de systèmes inaltérables et sans virus.
Architecture neutre
Le compilateur génère un format de fichier objet dont l’architecture est neutre — le code compilé
est exécutable sur de nombreux processeurs, à partir du moment où le système d’exécution de Java est
présent. Pour ce faire, le compilateur Java génère des instructions en byte-code (ou pseudo-code) qui
n’ont de lien avec aucune architecture d’ordinateur particulière. Au contraire, ces instructions ont été
conçues pour être à la fois faciles à interpréter, quelle que soit la machine, et faciles à traduire à la volée
en code machine natif
Multithread
Le parallélisme, implémenté par les Thread, est intégré dans le langage. Et il est simplifié. Les avantages
du multithread sont une meilleure inter-réactivité et un meilleur comportement en temps réel.
b) Compilation
Le fichier texte est compilé. Le code obtenu est en langage intermédiaire (n'est pas machine) dit byte-
code. Les fichiers obtenus ont l'extension .class
c) Exécution
Un interpréteur (appelé machine virtuelle ou JVM) permet l'exécution du byte-code et l'interpréter à la
plateforme cible. il est nécessaire d'utiliser un JRE(Java Runtime Environment) qui contient entre autre les
bibliothèques. Chaque plateforme utilise sa propre JVM.
d) Déploiement
Une application java est déployée (installée sur la plateforme cible) sous forme de fichiers .class ou dans
un seul fichier .jar (java archive) qui contient tous les fichiers .class en plus d'un fichier Manifest. ce
dernier détermine quelle classe à appeler en premier.
1. Outils de développement:
1. Editeur: un simple éditeur de texte est suffisant. Toutefois, il est plus productif d'utiliser un EDI
(Environnement de développement intégré) tel que NetBeans, Eclipse… qui permettent la coloration
syntaxique, la vérification du code, la saisie semi-automatique au cours de la frappe.
2. Compilateur java: appelé javac
3. Interpréteur java: appelé jvm (java virtual machine)
4. bibliothèques (packages ou paquetages): standard(java.lang, java.net, java.awt, javax.swing…..) ou
d'autres distribués par des parties tierces.
Tous les outils sont fournis sous forme d'un Kit appelé JDK (Java Development Kit) qui est mis à jour
périodiquement. Pour l'exécution, seul JRE(java runtime environment) est nécessaire.
4. Packages
Les classes sont organisées dans des packages qui sont des dossiers. Des packages peuvent contenir
d'autres packages.
Exemples:
java.lang package java qui contient le package lang
com.entity package com qui contient le package entity
Pour utiliser un package dans un fichier on utilise le mot-clé import au début:
Exemple: pour importer toutes les classes de packages nommés com.entity et com.gui ainsi qu'une
classe nommée File du package java.io, on écrit au début de fichier:
import com.entity.*;
import com.gui.*;
import java.io.File;
class MonProgramme{
int x=4;
int y=5;
int z=x+y;
System.out.println("la somme="+z);}
Explication
Un programme java doit contenir au moins une classe qui contient une méthode (procédure) main.
La procédure (on dit méthode) System.out.println permet d'afficher une valeur suivit d'un retour à la
ligne. On peut utiliser System.out.print qui fait la même chose sans retour à la ligne à la fin. Les deux
méthodes n'acceptent qu'un seul paramètre. Si on veut afficher plusieurs valeurs, on les concatène grâce
à l'operateur + quel que soit leurs types.
5. Exécution:
Pour exécuter un programme java, on doit appeler la JVM java en lui renseignant la classe qui contient
main. On peut le faire suivre par des paramètres (arguments).
Questions de cours
1. La programmation orientée objet permet
a. L'encapsulation des données
b. La séparation des données et des traitements
c. L'association des données et des traitements
d. L'exécution rapide du code
e. L'exécution sur n'importe quelle machine
2. Le langage java
a. a une syntaxe complètement nouvelle
b. Utilise la syntaxe du langage C/C++
c. Est évolutif
3. Un programme source java est un
a. un texte
b. code intermédiaire (byte code)
c. code machine
4. les nouveautés du langage java
a. gestion automatique de la mémoire
b. machine virtuelle
c. orienté objet
d. génération du byte-code
e. génération du code binaire
5. Un programme java compilé
a. Peut s'exécuter directement sur n'importe quelle machine
b. Doit être exécuté avec la machine virtuelle avec laquelle il est compilé
c. Doit être exécuté avec la machine virtuelle de la plateforme cible
d. est écrit en langage machine
6. une classe:
a. est un type d'objets
b. est un sous-programme d'un programme java
c. est une bibliothèque java
d. permet de créer des objets
e. un programme java
7. un objet
a. possède une référence
b. est un attribut de la classe
c. est une instance de la classe
d. contient les attributs et méthodes de sa classe
e. est un espace mémoire
8. pour créer un programme java on a besoin seulement de:
a. compilateur java
b. environnement de développement intégré
c. compilateur + JVM
d. un éditeur de texte et un compilateur et une machine virtuelle
9. la JVM:
a. permet l'exécution d'un programme java
b. permet la compilation du code java
c. permet la vérification du code source
d. est l'interpréteur d'un programme java
10. pour utiliser une classe nommée List d'un package nommé java.util on écrit:
a. import List.java.util
b. include List.java.util
c. use List.java.util
d. import java.util.List