Programmation Orientée Objets Le Langage JAVA
125 pages
Français

Programmation Orientée Objets Le Langage JAVA

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
125 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Version enseignant Module IP1 Programmation Orientee Objets Le Langage JAVA Amaury Habrard Universite de Provence Aix-Marseille I
  • class class
  • applications java
  • application avec java
  • application java
  • langage java
  • langages java
  • migration entre serveurs
  • entierement ecrit en java capable d'executer des applets ecrites en byte code
  • code natif
  • machine virtuelle
  • machines virtuelles
  • java

Sujets

Informations

Publié par
Nombre de lectures 187
Langue Français

Extrait

Version enseignant
Module IP1
Programmation Orient´ee Objets
Le Langage JAVA
Amaury Habrard
Universit´e de Provence Aix-Marseille I
amaury.habrard@lif.univ-mrs.fr2Table des mati`eres
1 Avant propos 7
2 Introduction : le langage JAVA 9
2.1 Pr´esentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Historique du langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Quelques mots cl´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Java et la programmation orient´ee objet . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Le concept d’objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 Ind´ependance vis `a vis de la plateforme . . . . . . . . . . . . . . . . . . . . 11
2.4 Structure d’un programme JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Que contient un fichier source? . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2 Execution d’un programme Java . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.3 La machine virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.4 La m´ethode main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.5 Utilisation d’arguments dans la fonction main . . . . . . . . . . . . . . . . . 13
2.5 Installation et utilisation de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Types, expressions et structures de contrˆole fondamentales . . . . . . . . . . . . . . 15
2.6.1 les types primitifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
La notion de type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
le type entier (int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Les flottants/r´eels (float ou double) . . . . . . . . . . . . . . . . . . . . . . 16
Le type caract`ere (char) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Le type bool´een (boolean) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Initialisations et constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6.2 Op´erateurs et expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Op´erateurs arithm´etiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Op´erateurs de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Op´erateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Op´erateurs d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Conversion de types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Op´erateur conditionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Priorit´e des op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6.3 Les structures de controˆle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Les instructions break et continue . . . . . . . . . . . . . . . . . . . . . . . 24
2.6.4 Les ´el´ements sp´ecifiques au langage JAVA . . . . . . . . . . . . . . . . . . . 25
2.7 Une premi`ere introduction au type String. . . . . . . . . . . . . . . . . . . . . . . 25
2.8 R`egles d’´ecriture d’un programme JAVA . . . . . . . . . . . . . . . . . . . . . . . 26
3`4 TABLE DES MATIERES
2.8.1 Les identificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.2 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.3 Mots cl´es r´eserv´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.4 Remarques globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.5 Commentaires sur le rendu d’un programme Java . . . . . . . . . . . . . . . 27
2.8.6 Liens sur la programmation JAVA . . . . . . . . . . . . . . . . . . . . . . . 28
2.8.7 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9 Exercices de cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9.1 Compilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9.2 Mots crois´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 La notion d’objets : d´efinition et utilisation 33
3.1 Introduction au d´eveloppement objets . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2 La notion de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1 Exemple de classe : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.2 Cr´eation d’un objet `a l’aide d’une classe . . . . . . . . . . . . . . . . . . . . 36
3.2.3 Exemple d’utilisation dans un programme complet . . . . . . . . . . . . . . 37
3.3 La notion de constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Affectation et comparaison d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.1 La r´ef´erence null. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5 Le ramasse-miettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6 L’encapsulation de donn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Champs et m´ethodes statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7.1 Variables statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7.2 Les m´ethodes statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 Surd´efinition/surcharge de m´ethodes . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.8.1 Surd´efinition de constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.9 La copie d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.10 Autor´ef´erencement : le mot cl´e this . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.11 Remarques sur la d´efinition de m´ethodes . . . . . . . . . . . . . . . . . . . . . . . . 51
3.11.1 M´ethodes de type proc´edures et fonctions . . . . . . . . . . . . . . . . . . . 51
3.11.2 Les arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.11.3 Les variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.11.4 La r´ecursivit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.12 Les paquetages (packages) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.12.1 Attribution d’une classe a` un paquetage . . . . . . . . . . . . . . . . . . . . 53
3.12.2 Utilisation d’une classe situ´ee dans une paquetage . . . . . . . . . . . . . . 54
3.12.3 Droits d’acc`es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.13 Les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.13.1 D´eclaration et cr´eation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.13.2 Tableau en argument ou en retour . . . . . . . . . . . . . . . . . . . . . . . 58
3.13.3 Les tableaux `a plusieurs indices . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.14 Exercices de cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.14.1 Compilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.14.2 Qui suis-je? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.14.3 Compilateur 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.14.4 Qui suis-je? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14.5 Compilateur 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.14.6 Mots crois´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.14.7 Mots crois´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69`TABLE DES MATIERES 5
4 Les concepts d’H´eritage et de Polymorphisme 71
4.1 Pr´esentation et d´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Construction et initialisation des objets d´eriv´es . . . . . . . . . . . . . . . . . . . . 74
4.3 Red´efinition, surd´efinition et h´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Red´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.2 La surchage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3.3 En r´esum´e. . . . . . . . . . . . . . . . . .

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents