14 Le langage Java : concepts et pratique



Documents pareils
Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

COMMENT REDIGER UN RAPPORT TECHNIQUE?

Bien architecturer une application REST

Chapitre I Notions de base et outils de travail

La technologie Java Card TM

TP1. Outils Java Eléments de correction

Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Éléments de programmation et introduction à Java

CAHIER DES CHARGES DES MOYENS INFORMATIQUES Introduction

À qui s adresse cet ouvrage?

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

TP1 : Initiation à Java et Eclipse

Société Louis GRAMA Tentes et Toiles S.A. Capital FF

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Cours en ligne Développement Java pour le web

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

750 euros par semaines c est possible avec le programme d affilié de CRM 48

TP1 : Initiation à Java et Eclipse

Manuel de mise en page de l intérieur de votre ouvrage

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Chapitre 1 Qu est-ce qu une expression régulière?

Nom de l application

Entraînement au concours ACM-ICPC

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

HTML. Notions générales

Programmation Web. Madalina Croitoru IUT Montpellier

Guide plateforme FOAD ESJ Lille

Commentaires sur le projet de lignes directrices (G3) pour l évaluation de la durabilité de la Global Reporting Initiative

Évaluation et implémentation des langages

Dossier de presse. Août Le Grain de Web : le webmarketing à la portée de tous p 1. Témoignage client de Mélanie Robilliard p 2

Introduction à MATLAB R

Bases de données documentaires et distribuées Cours NFE04

ÉNONCÉ DE PRINCIPES LE COMMERCE ÉLECTRONIQUE DES PRODUITS D ASSURANCE

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Concours 2008 / 2009 externe et interne réservé d ingénieurs des services culturels et du patrimoine, spécialité «services culturels»


Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

STAGE D INITIATION RAPPORT DE. Elaboré par. Prénom NOM. Encadré par : Mr Prénom NOM (Société) Société d accueil :. (Sigle de la société d accueil)

Refonte des sites internet du SIEDS

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

Bases Java - Eclipse / Netbeans

Manuel d'utilisation du site Deptinfo (Mise en route)

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Styler un document sous OpenOffice 4.0

Les Licences Libres Ouverture et Protection des Logiciels. Plan

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

7. Recherche des essais

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Introduction aux concepts d ez Publish

Cahier des charges (CDC)

Cours Bases de données

Réussir la mise en œuvre d une solution de portail d entreprise.

as Architecture des Systèmes d Information

FEUILLET D INFORMATION! " Savoir comment protéger les informations personnelles publiées sur votre compte Facebook.

Document de réflexion - RACHETER OU NE PAS RACHETER?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Introduction au langage C

Traduction des Langages : Le Compilateur Micro Java

Utilisation de l éditeur.

Pour connaître mes collègues journalistes. Références

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Comment répondre aux questions d un examen en droit qui sont basées sur des faits

La messagerie électronique avec La Poste

Comment créer un diagramme de Gantt avec OpenOffice.org

PG208, Projet n 3 : Serveur HTTP évolué

Diapo 1. Objet de l atelier. Classe visée. Travail en co-disciplinarité (identité et origine académique des IEN)

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Améliorer le contenu d une encyclopédie collaborative. Faire preuve d esprit critique

L informatique en BCPST

Calculs de probabilités avec la loi normale

A. À propos des annuaires

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

Surveiller et contrôler vos applications à travers le Web

Guide d utilisation des services My Office

Les indices à surplus constant

Les outils de création de sites web

Rapport de stage d initiation

Travail collaboratif. Glossaire

Gestion commerciale & marketing avec

Technologie 9 e année (ébauche)

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Initiation à Excel. Frédéric Gava (MCF)

Drupal : quelques fonctionnalités (ce qu il permet, ce qu il ne permet pas)

avec des nombres entiers

Publier un Carnet Blanc

De quoi avez-vous besoin pour ce manuel?

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

REFERENCEMENT NATUREL

Guide d usage pour Word 2007

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Nous ne doutons pas que vous prendrez plaisir à essayer Siebel CRM On Demand d Oracle!

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Diffuser un contenu sur Internet : notions de base... 13

Avis n sur la méthodologie relative aux comptes combinés METHODOLOGIE RELATIVE AUX COMPTES COMBINES

Transcription:

Avant-propos Le langage Java, né en janvier 1995 chez Sun, est un langage à objets qui permet d écrire de façon simple et claire des programmes portables sur la majorité des plateformes. Lié à l essor du World Wide Web, il a été conçu par l équipe de James Gosling en fonction des multiples exigences des développements informatiques actuels. Il bénéficie d une gigantesque bibliothèque de «classes» avec lesquelles il est aisé de composer des interfaces graphiques, de créer des applications «multithreads», de communiquer entre ordinateurs, etc. L utilisation de Java s étend de l animation d une page HTML par une «applet» à des applications complexes qui tournent à travers le réseau Internet : forums de discussion, partage de bases de données, jeux, etc. Enfin, on trouve de plus en plus fréquemment le langage Java dans les systèmes embarqués. Cet ouvrage, issu des cours dispensés par l auteur depuis plusieurs années à l École nationale supérieure des télécommunications, répond à un double objectif :

14 Le langage Java : concepts et pratique d une part, présenter un tour complet des principaux concepts du langage Java ; d autre part, faciliter l acquisition d une certaine pratique de ce langage de programmation à travers de nombreux exemples, choisis pour illustrer les fonctionnalités les plus importantes de Java. Ce livre s adresse au lecteur (étudiant, ingénieur, programmeur, etc.) qui, connaissant déjà la syntaxe du langage C, souhaite acquérir la maîtrise de Java. Audelà de ce langage, il constitue aussi une introduction aux principes des langages à objets. Y sont traités particulièrement les classes, l héritage, les interfaces, les exceptions, les paquetages, les règles de visibilité, les interfaces graphiques, les flux de données, les applets, le multi-thread, la communication réseau. Un glossaire et un index complètent l ouvrage. Un manuel sur le langage Java ne peut pas être exhaustif, ou bien serait gigantesque, étant donnée la richesse des paquetages (dont l ensemble constitue la bibliothèque du langage) fournis par Java. Ce livre ne traite donc pas tout ce qui peut être dit sur Java mais en développe les principaux points. Les concepts Nous ferons un tour complet des principes de Java, principes que l on retrouve dans la plupart des langages à objets. Il n est pas facile, sans s appuyer sur un

Avant-propos 15 exemple d un tel langage, d en comprendre d emblée les principes ; il n est pas facile non plus de comprendre un langage à objets lorsqu on étudie un langage de ce type pour la première fois. En revanche, celui qui connaît déjà un langage à objets est apte à suivre un cours général sur ce sujet ou bien à comprendre rapidement un autre langage de cette famille. Nous nous adressons plus particulièrement à un lecteur novice dans ce type de langage et espérons qu il pourra assimiler, indépendamment du langage Java, les notions principales d un langage à objets. La pratique L ensemble du livre est conçu à partir d exemples, dont on espère qu ils apprendront au lecteur comment pratiquer le langage Java ; après lecture de cet ouvrage, les connaissances acquises devraient être suffisantes pour aborder efficacement une programmation en Java. Pour une programmation simple, il ne devrait plus y avoir de difficultés ; il ne sera néanmoins sans doute pas possible d écrire un programme en Java directement, sans consulter une documentation. En effet, nous verrons que travailler avec Java nécessite l utilisation explicite des bibliothèques du langage et que celles-ci sont si étendues que bien rares sont ceux qui peuvent en connaître tout le contenu ; c est ce qui donne sa puissance au langage. Travailler avec Java demande d adopter une nouvelle méthode de travail ; lorsqu on se

16 Le langage Java : concepts et pratique propose de programmer certaines fonctionnalités, il faut enquêter sur ce qu offre le langage ; de plus, pendant que l on programme, il pourra être souhaitable de disposer de la documentation disponible sur le site de Sun qui décrit la partie de la bibliothèque que l on utilise. S il s agit de programmer sur des thèmes très spécialisés, le «tutorial» de Sun complétera utilement les connaissances de base dispensées par ce livre. Les exemples des premiers chapitres consacrés aux principes du langage permettent déjà l acquisition d une certaine pratique. Les chapitres suivants sont consacrés à des thèmes spécifiques : les interfaces graphiques, les flux de données, les threads, les applets, les images, la communication réseau. Contrairement à ce que nous faisons en ce qui concerne les principes du langage, l enseignement pratique n est pas systématique ; beaucoup de connaissances sont données au fil des exemples ; on ne traitera pas tout ce qui peut être dit sur un sujet donné (par exemple, on est très loin de faire le tour des possibilités offertes par la partie de la bibliothèque consacrée aux interfaces graphiques). Pour quelle raison? parce qu on ne traiterait alors que très peu de thèmes dans un livre d un volume raisonnable. Les fonctionnalités de la bibliothèque standard de Java sont regroupées selon des «classes» ; énumérer toutes les fonctionnalités de la totalité des classes serait impossible à réaliser en un seul volume ; dresser des

Avant-propos 17 listes partielles de fonctionnalités laisserait penser, à tort, que ces listes sont exhaustives alors qu elles peuvent passer sous silence la fonctionnalité nécessaire à une application donnée. Ce que nous indiquons à propos des classes ne fournit donc généralement qu un aperçu des possibilités. Néanmoins, les exemples ont été choisis pour recouvrir, lorsqu on considère leur ensemble, les fonctionnalités qui nous ont semblé être parmi les plus importantes des principales classes des principaux paquetages du langage. Indications sur la présentation du livre Le livre contient de nombreux exemples écrits en Java et dont le code est précédé et suivi d une double ligne horizontale. Dans ces exemples, certains mots, groupes de mots ou instructions sont commentés ; ils sont alors soulignés. Les commentaires, signalés par une double ligne verticale sur la gauche, se trouvent après l exemple, parfois précédés du résultat fourni par une exécution du programme. En police Courier figurent : les exemples en Java ; les mots utilisés dans les programmes et cités dans des explications ; les commandes servant à lancer des programmes ; les noms de fichiers ;

18 Le langage Java : concepts et pratique ce que l on obtient en sortie des programmes servant d exemples. Les mots réservés du langage sont écrits en Courier gras. Les identificateurs (noms de variables, de méthodes, de classes...) peuvent être écrits en Java avec un jeu étendu de caractères (qui permet par exemple de manipuler des caractères accentués, la cédille...) ; grâce à cette possibilité, on peut augmenter la lisibilité d un programme. Néanmoins, il est parfois obligatoire (et souvent souhaitable) d attribuer à un fichier le nom d une classe dont il contient la définition (à l extension.java près). Or, il est préférable, pour des raisons de portabilité, d écrire le nom des fichiers dans un jeu réduit de caractères. Pour cette raison, nous n utiliserons pas de caractères tels que des lettres accentuées, la cédille, etc. pour nommer les classes ni, par souci d homogénéité, pour écrire les autres identificateurs, les chaînes de caractères, etc. Seuls les commentaires bénéficient d accents. Les programmes servant d'exemples dans ce livre sont disponibles à l adresse : http://www.infres.enst.fr/~charon/exemplesjava/

Avant-propos 19 Remerciements De nombreuses personnes m ont aidée, directement ou indirectement, dans l écriture de ce livre ; je les en remercie vivement. Olivier Hudry a relu très soigneusement l ouvrage et a permis d éclaircir de nombreuses formulations ; ses encouragements m ont aussi continuellement soutenue. Annie Danzart a effectué une relecture attentive et ses commentaires, très pertinents, m ont permis d apporter beaucoup d améliorations. Jean-Jacques Charon et David Fournier m ont éclairée de leurs nombreux conseils de spécialistes. Antoine Lobstein, entre deux études sur les chocs élastiques, a peaufiné la forme finale du texte. Anne Germa m apporte depuis longtemps son aide amicale. Les élèves de l École nationale supérieure des télécommunications et de «ParisTech» ont écouté mes cours et travaillé avec une version initiale de l ouvrage ; ils m ont montré, par leurs questions, quels sont les concepts difficiles à acquérir, ce qui m a incitée à développer particulièrement la présentation de ceux-ci. Je remercie les éditions Hermès qui ont accepté de publier ce livre dans de brefs délais. Je remercie enfin l École nationale supérieure des télécommunications et plus particulièrement le département Informatique et Réseaux d avoir facilité l accomplissement de ce travail.