Université Pierre et Marie Curie La programmation Java : aide mémoire M2 d’Info

Université Pierre et Marie Curie La programmation Java : aide mémoire M2 d’Informatique Médicale 2013 - 2014 Vincent Morice Mise à jour : 6 septembre 2013 2/59 La programmation Java : aide mémoire - Vincent Morice 2013 - 2014 Table des matières 2013 - 2014 La programmation Java : aide mémoire - Vincent Morice 3/59 Table des matières 3 Table des matières 7 Chapitre 1 : Introduction à Java 7 1.1 La programmation objet 7 1.1.1 Classes et instances 7 1.1.2 Composition, héritage, polymorphisme 8 1.1.3 Contrôle d’accès aux membres des objets 9 1.2 Java et l’internet 9 1.2.1 L’origine de Java 9 1.2.2 Programmation côté client : les applets 9 1.2.3 Java côté serveur 10 1.3 Installation de Java 10 1.3.1 Installation à partir du site de Sun Microsystems 11 1.3.2 Chemins d’accès et commandes 12 1.3.3 Documentation sur les classes prédéfinies 15 Chapitre 2 : Les objets en Java 15 2.1 Un objet se manipule par un pointeur 15 2.2 Création d’un objet 15 2.2.1 Méthode générale 16 2.2.2 Les types élémentaires 17 2.3 Destruction d’un objet 18 2.4 Création d’une classe 18 2.4.1 Structure générale 18 2.4.2 Les membres « champs de données » 19 2.4.3 Les membres « méthodes » 22 2.5 Un programme élémentaire 23 2.6 Transformation en applet 25 Chapitre 3 : Opérateurs et structures de contrôle 25 3.1 L’affectation 25 3.2 Opérateurs et fonctions mathématiques 27 3.3 Opérateurs de comparaison et expressions logiques 28 3.4 L’opérateur + pour les chaînes de caractères 29 3.5 Instructions conditionnelles 29 3.5.1 L’instruction if 29 3.5.2 L’instruction switch Table des matières 4/59 La programmation Java : aide mémoire - Vincent Morice 2013 - 2014 30 3.6 Instructions d’itération 30 3.6.1 Instruction while 31 3.6.2 Instruction do-while 32 3.6.3 Instruction for 33 Chapitre 4 : Relations entre classes : packages, héritage, classes internes 33 4.1 Les packages 33 4.1.1 Accès à un package 34 4.1.2 Création d’un package 34 4.2 L’héritage 35 4.3 Les interfaces 35 4.4 Les classes internes 37 Chapitre 5 : Tableaux et chaînes de caractères 37 5.1 Les tableaux 38 5.2 Les chaînes de caractères 41 Chapitre 6 : Traitement des erreurs : les exceptions 41 6.1 Principe 41 6.2 La hiérarchie des exceptions 42 6.3 Syntaxe 43 6.4 Créer ses propres exceptions 45 Chapitre 7 : Les entrées-sorties 45 7.1 Principe général 45 7.2 Streams pour données binaires 45 7.2.1 Streams d’entrée 47 7.2.2 Streams de sortie 49 7.3 Streams pour données textuelles 49 7.3.1 Streams d’entrée 50 7.3.2 Streams de sortie 53 Chapitre 8 : Applets et fenêtres 53 8.1 Les applets 53 8.2 Les composants graphiques 55 8.3 Afficher des éléments graphiques 56 8.4 Les événements 56 8.4.1 Le modèle Table des matières 2013 - 2014 La programmation Java : aide mémoire - Vincent Morice 5/59 56 8.4.2 Eléments graphiques et événements Table des matières 6/59 La programmation Java : aide mémoire - Vincent Morice 2013 - 2014 Introduction à Java 2013 - 2014 La programmation Java : aide mémoire - Vincent Morice 7/59 Chapitre 1 Introduction à Java Ce cours s’inspire largement des livres de Bruce Eckel « Thinking in Java », disponible en ligne et en français sur http://bruce-eckel.developpez.com/livres/java/traduction/tij2/ et de Antoine Mi- recourt et Pierre-Yves Saumont « Le développeur Java2 », collection Eyrolles (voir http:// www.eyrolles.com). Voir aussi Java in a nutshell. Manuel de référence pour Java2 de David Flanagan, collection O’Reilly. 1.1 La programmation objet 1.1.1 Classes et instances Un objet se définit par son contenu et ce qu’il sait faire. Comme une structure de C ou de PASCAL, il possède un certain nombre de champs ou membres. Certains des champs mémorisent des don- nées, d’autres des comportements sous forme de fonctions ou de méthodes. Pour pouvoir créer un objet, il faut d’abord décrire sa structure par la création d’un nouveau type d’objet appelé classe d’objets. Lorsqu’une classe est définie, on peut créer autant d’objets de cette classe ou structure qu’on le dé- sire. Ces objets sont appelés les instances de la classe. La création d’une instance se fait par l’appel à un constructeur d’objet qui doit en particulier al- louer une zone de mémoire de taille adaptée à l’objet. Lorsque l’objet devient inutile se pose le pro- blème de récupérer la mémoire correspondante : Java dispose d’un garbage collector qui détermine dynamiquement quand un objet n’est plus utilisé et récupère la mémoire qu’il occupait. 1.1.2 Composition, héritage, polymorphisme La méthode la plus simple de réutilisation de classes existantes est la composition ou dépen- dance. Tout champ de données d’une classe peut être défini par un objet d’une autre classe. Les champs et méthodes de cet objet sont alors automatiquement intégrés parmi ceux de la classe ini- tiale. La seconde méthode est l’héritage. Un objet qui hérite d’un autre en aura toutes ses caractéris- Introduction à Java 8/59 La programmation Java : aide mémoire - Vincent Morice 2013 - 2014 tiques (sauf celles déclarées privées), aux précisions ou modifications près qu’on jugera utile de lui apporter. Une classe fille peut se différencier de sa parente par ajout de nouveaux membres (on dit qu’elle étend (extends) sa parente) ; ou par remplacement de certains membres, en particulier de méthodes. Lorsqu’une classe fille redéfinit une méthode de sa parente, Java sait choisir la méthode la plus adaptée à exécuter selon le contexte. Si la méthode est utilisée sur un objet instance de la classe fille, c’est la méthode la plus spécifique qui est exécutée. Sinon, c’est la méthode la plus générale. Cette faculté d’adaptation est appelée polymorphisme. Elle requiert un binding dynamique entre le nom d’une fonction appelée et la fonction elle-même. Java n’autorise pas l’héritage multiple, c’est à dire la possibilité pour une classe d’hériter de plu- sieurs parents (qui ne sont pas eux-mêmes déjà parents les uns des autres). Mais toute classe pos- sède une classe parente : les classes forment une arborescence. La racine de l’arbre, ancêtre de toutes les classes, est la seule exception. Cette classe racine s’appelle Object. Dire qu’une classe hérite d’une autre, c’est les relier par une relation de type est-un ou is-a. Introduire un objet par composition comme champ d’un autre objet, c’est relier ces objets par une relation d’appartenance a-un ou has-a. Le plus souvent, on ne choisira l’héritage que si cette relation s’impose de manière évidente. Dès qu’il y a doute, on utilisera la composition. 1.1.3 Contrôle d’accès aux membres des objets Tableau 1 Les contrôles d’accès Les packages Les définitions des classes sont enregistrées dans des fichiers formant une ou des librairies. Accès Classe simple class Classe publique public class Membre privé private Membre simple Membre protégé protected Membre public public Dans classe courante Oui Oui Oui Oui Oui Oui Dans pac- kage courant Oui Oui Oui Oui Oui Par héritage, autre pac- kage Oui Oui, si classe publique Oui, si classe publique Partout Oui Oui, si classe publique Introduction à Java 2013 - 2014 La programmation Java : aide mémoire - Vincent Morice 9/59 On appelle package un ensemble de définitions de classes regroupées parce qu’elles traitent d’un même problème. 1.2 Java et l’internet 1.2.1 L’origine de Java L’idée à l’origine de la création de Java, émise par Sun Microsystems, était de disposer d’un lan- gage multi-plate-formes. Les applications devaient pouvoir fonctionner dans n’importe quel envi- ronnement, sans avoir à être recompilées. Il s’agissait en fait de définir une machine virtuelle Java (JVM) capable de faire tourner les programmes Java, puis de réaliser cette machine virtuelle dans tous les environnements. Cette machine virtuelle est capable d’interpréter un langage inter- médiaire entre Java et un langage machine appelé bytecode. Java peut être utilisé pour l’écriture de programmes ordinaires, exécutables sur l’ordinateur où ils sont installés. Pour l’exécution, il suffit de disposer de la machine virtuelle correspondant à la ver- sion de Java utilisée dans les programmes. Mais l’une des raisons du succès de ce langage est son lien avec l’internet : il peut être utilisé pour résoudre des problèmes de programmation sur le Web. Dans ce cas, la machine virtuelle est géné- ralement intégrée dans le navigateur (Internet Explorer, Chrome, Mozilla Firefox, etc.). 1.2.2 Programmation côté client : les applets Pour pouvoir exécuter des programmes sur une machine cliente, on peut utiliser des plug-ins, pro- grammes téléchargeables à installer sur le navigateur ; des langages de script, le plus répandu étant JavaScript, qui permettent d’intégrer des programmes simples dans les pages HTML ; et des applets Java, programmes véritables, sécurisés, liés à des pages HTML, et automatiquement char- gés chez le client avec elles. Contrairement aux scripts, les applets sont compilées. Elles ne peuvent pas accéder au disque local ce qui garantit la sécurité, sauf si l’auteur a introduit une signature dans l’applet, permettant théo- riquement de le retrouver. 1.2.3 Java côté serveur La programmation côté serveur s’est longtemps limitée à des programmes CGI (Common Ga- teway Interface), très souvent en Perl, dont le rôle est de traiter les réponses à des formulaires HT- ML. De nouveaux langages, comme PHP, sont apparus pour permettre des traitements plus complexes, uploads/s3/ java-resum 1 .pdf

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager