Programmation orientée objet en Java 1 INITIATION A LA PROGRAMMATION ORIENTEE-O
Programmation orientée objet en Java 1 INITIATION A LA PROGRAMMATION ORIENTEE-OBJET AVEC LE LANGAGE JAVA NIANGORAN Aristhophane Kerandel Consultant formateur en JAVA Programmation orientée objet en Java 2 Table des matières Chapitre 1 : INTRODUCTION A JAVA ....................................................................................................... 5 1. Les caractéristiques ..................................................................................................................... 5 1.1. Présentation de Java ........................................................................................................... 5 1.2. Notion de langage compilés et interprétés ......................................................................... 5 Chapitre 2 : LA SYNTAXE ET LES ELEMENTS DE BASES DE JAVA .............................................................. 8 1. Les règles de base ........................................................................................................................ 8 2. Les mots réservés du langage Java .............................................................................................. 8 3. Les types élémentaires ................................................................................................................ 9 4. Les identificateurs ....................................................................................................................... 9 5. Les commentaires ..................................................................................................................... 10 6. La déclaration et l'utilisation de variables ................................................................................. 10 6.1. Déclaration et portée de variables .................................................................................... 10 6.2. L'affectation ....................................................................................................................... 11 6.3. Les comparaisons .............................................................................................................. 11 7. Les opérations arithmétiques .................................................................................................... 12 8. Les structures de contrôles ....................................................................................................... 12 8.1. Instructions conditionnelles .............................................................................................. 12 8.2. Instructions itératives ........................................................................................................ 14 9. Instructions break et continue .............................................................................................. 16 10. Les tableaux ........................................................................................................................... 16 10.1. Création d'un tableau .................................................................................................... 17 10.2. Le parcours d'un tableau ............................................................................................... 17 11. Les chaînes de caractères ...................................................................................................... 18 11.1. Déclaration de la chaine de caractère ........................................................................... 18 11.2. Manipulation des chaines de caractère ........................................................................ 18 Chapitre 3 : LA PROGRAMMATION ORIENTE OBJET EN JAVA ............................................................... 20 1. Le concept d’objet et de classe ................................................................................................. 20 1.1. La classe ............................................................................................................................. 20 1.2. Le constructeur .................................................................................................................. 20 1.3. Les références et la comparaison d'objets ........................................................................ 21 2. Le mot-clé this ........................................................................................................................... 21 3. Les modificateurs d'accès .......................................................................................................... 22 3.1. Le mot-clé static ................................................................................................................ 23 3.2. Le mot-clé Final ................................................................................................................. 23 3.3. Le mot clé abstract, ........................................................................................................... 23 Programmation orientée objet en Java 3 3.4. Le mot-clé Synchronized ................................................................................................... 24 3.5. Le mot clé volatile.............................................................................................................. 24 3.6. Le mot-clé native ............................................................................................................... 24 4. Les attributs ............................................................................................................................... 24 4.1. Variables de classe............................................................................................................. 24 4.2. Variable d’instance ............................................................................................................ 24 5. Les méthodes ............................................................................................................................ 24 5.1. Déclaration ........................................................................................................................ 24 5.2. La surcharge de méthode .................................................................................................. 25 6. Le principe de l’encapsulation ................................................................................................... 25 7. L’héritage ................................................................................................................................... 26 7.1. Principe .............................................................................................................................. 26 7.2. Redéfinition de méthode héritée ...................................................................................... 28 8. Le polymorphisme ..................................................................................................................... 28 9. Les interfaces ............................................................................................................................. 28 Chapitre 4 : La gestion des exceptions .................................................................................................. 30 1. La classe Error ............................................................................................................................ 31 2. La classe Exception .................................................................................................................... 31 2.1. Traitement des exceptions ................................................................................................ 32 2.2. La clause finally .................................................................................................................. 33 3. La classe RuntimeException ...................................................................................................... 33 Chapitre 5 : Gestion des entrées/sorties simples ................................................................................. 35 1. Flux d’entrée .............................................................................................................................. 35 1.1. Lecture des entrées clavier ................................................................................................ 35 1.2. Lecture à partir d’un fichier ............................................................................................... 35 2. Flux de sortie ............................................................................................................................. 36 2.1. Ecriture sur la sortie standard “écran” .............................................................................. 37 2.2. Ecriture dans un fichier ..................................................................................................... 37 2.3. Ecriture d’objets ................................................................................................................ 38 Chapitre 6 : Les collections .................................................................................................................... 39 1. Les interfaces des collections .................................................................................................... 39 2. L'interface Iterator .................................................................................................................... 40 3. Les collections de type List : les listes........................................................................................ 40 3.1. L'interface List.................................................................................................................... 41 3.2. La classe ArrayList .............................................................................................................. 41 3.3. Les listes chaînées : la classe LinkedList ............................................................................ 42 Programmation orientée objet en Java 4 3.4. L'interface ListIterator ....................................................................................................... 43 4. Les collections de type Set : les ensembles ............................................................................... 44 5. Les collections de type Map : les associations de type clé/valeur ............................................ 44 6. Parcours des collections ............................................................................................................ 45 6.1. Parcours par boucle for-each ............................................................................................ 45 6.2. Parcours par itérateur ....................................................................................................... 45 Programmation orientée objet en Java 5 Chapitre 1 : INTRODUCTION A JAVA Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe est proche du C. Ses caractéristiques ainsi que la richesse de son écosystème et de sa communauté lui ont permis d'être très largement utilisé pour le développement d'applications de types très disparates. Java est notamment largement utilisé pour le développement d'applications d'entreprises et mobiles. Un programmeur Java écrit son code source, sous la forme de classes, dans des fichiers dont l’extension est .java. Ce code source est alors compilé par le compilateur javac en un langage appelé bytecode et enregistre le résultat dans un fichier dont l’extension est .class. Le bytecode ainsi obtenu n’est pas directement utilisable. Il doit être interprété par la machine virtuelle de Java qui transforme alors le code compilé en code machine compréhensible par le système d’exploitation. C’est la raison pour laquelle Java est un langage portable : le bytecode reste le même quel que soit l’environnement d’exécution. 1. Les caractéristiques 1.1. Présentation de Java Java est un langage de programmation orienté objet créé par Sun Microsystems en 1995. La société Sun étant racheté en 2009 par la société Oracle qui détient et maintient désormais Java. Le langage Java a la particularité principale d’être portable sur plusieurs systèmes d’exploitation tels que Windows, MacOS ou Linux. C’est la plateforme qui garantit la portabilité des applications développées en Java. Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les informaticiens. Java permet de développer des applications autonomes mais aussi, et surtout, des applications client-serveur, coté client, les applets sont à l’origine de la notoriété du langage. C’est surtout coté serveur que Java s’est imposé dans le milieu de l’entreprise grâce aux servlets et plus récemment les JSP (Java Server Pages) qui peuvent se substituer à PHP et ASP. Les applications Java peuvent être exécutées sur tous les systèmes exploitation pour lesquels a été développée une plateforme Java, dont le nom technique est JRE (Java Runtime Environment - Environnement d’exécution Java). Cette dernière est constituée d’une JVM (Java Virtual Machine- Machine Virtuelle Java), le programme qui interprète le code Java et le convertit en code natif 1.2. Notion de langage compilés et interprétés Il existe deux types de langages : les langages compilés et les langages interprétés. Pour rappel, la différence majeure est que pour les langages compilés, on transforme le code source du programme directement en langage compréhensible par la machine à l'aide Programmation orientée objet en Java 6 d'un compilateur tandis que pour les langages interprétés, on a un programme, l'interpréteur qui va lire chaque ligne du code source et l'exécuter. • Java est un langage interprété, ce qui signifie qu’il n’est pas directement exécutable par le système d’exploitation mais il doit être interprété par un autre programme, qu’on appelle interpréteur. La figure 1 illustre ce fonctionnement. Figure 1 : Interprétation du langage • Java est portable : il est indépendant de toute plate-forme. Il n'y a pas de compilation spécifique pour chaque plateforme. Le code reste indépendant de la machine sur laquelle il s'exécute. Il est possible d'exécuter des programmes Java sur tous les environnements qui possèdent une Java Virtual Machine. • Java est orienté objet : comme la plupart des langages récents, Java est orienté objet. Chaque fichier source contient la définition d'une ou plusieurs classes qui sont utilisées les unes avec les autres pour former une application. Java n'est pas complètement objet car il définit des types primitifs (entier, caractère, flottant, booléen...). • Java est simple : le choix de ses auteurs a été d'abandonner des éléments mal compris ou mal exploités des autres langages tels que la notion de pointeurs (pour éviter les incidents en manipulant directement la mémoire), l'héritage multiple et la surcharge des opérateurs. • Java est fortement typé : toutes les variables sont typées et il n'existe pas de conversion automatique qui risquerait une perte de données. Si une telle conversion doit être Programmation orientée objet en Java 7 réalisée, le développeur doit obligatoirement utiliser un cast ou une méthode statique fournie en standard pour la réaliser. • Java assure la gestion de la mémoire : l'allocation de la mémoire pour un objet est automatique à sa création et Java récupère automatiquement la mémoire inutilisée grâce au garbage collector qui restitue les zones de mémoire laissées libres à la suite de la destruction des objets. • Java est sûr : la sécurité fait partie intégrante du système d'exécution et du compilateur. Un programme Java planté ne menace pas le système d'exploitation. Il ne peut pas y avoir d'accès direct à la mémoire. L'accès au disque dur est réglementé dans une applet. • Java est économe : le pseudo code a une taille relativement petite car les bibliothèques de classes requises ne sont liées qu'à l'exécution. • Java est multitâche : il permet l'utilisation de threads qui sont des unités d'exécutions isolées. La JVM, elle-même, utilise plusieurs threads. Trois plate-formes d'exécution (ou éditions) Java sont définies pour des cibles distinctes selon les besoins des applications à développer : • Java Standard Edition (J2SE / Java SE) : environnement d'exécution et ensemble complet d'API pour des applications de type desktop. Cette plate-forme sert de base en tout ou partie aux autres plate-formes • Java Enterprise Edition (J2EE / Java EE) : environnement d'exécution reposant intégralement sur Java SE pour le développement d'applications d'entreprises • Java Micro Edition (J2ME / Java ME) : environnement d'exécution et API pour le développement d'applications sur appareils mobiles et embarqués dont les capacités ne permettent pas la mise en œuvre de Java SE Programmation orientée uploads/S4/ supports-de-cours-java.pdf
Documents similaires
-
95
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 23, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.7133MB