POLYCOPIE SUR LE LANGAGE JAVA CHAPITRE 1 : GENERALITES 1 Qu’est-ce que Java ? L

POLYCOPIE SUR LE LANGAGE JAVA CHAPITRE 1 : GENERALITES 1 Qu’est-ce que Java ? Le langage Java a été introduit par la société SUN en 1995. Il possède de nombreuses caractéristiques : - C’est un langage orienté objet - C’est un langage compilé : avant d’être exécuté, il doit être traduit dans le langage de la machine sur laquelle il doit fonctionner - Il emprunte sa syntaxe en grande partie du langage C - Les programme Java peuvent être exécutés sous forme d’applications indépendantes ou distribuées à travers le réseau et exécutées par un navigateur Internet sous forme d’applets. 2 Pourquoi utiliser Java ? 2.1 Le monde sans Java Avec les langages évolués courant (C++, C, etc.) nous avons pris l’habitude de coder sur une machine identique à celle qui exécutera nos applications ; la raison est fort simple : à de rares exceptions prés les compilateurs ne sont pas multi-plateformes et le code généré est spécifique à la machine qui doit accueillir. Nous devons alors utiliser n compilateurs différents sur n machines. Aujourd’hui, la généralisation des interfaces graphiques et l’usage de langage plus évolués compliquent encore d’avantage le problème. Ainsi pour développer une application destinées à plusieurs systèmes d’exploitation avec ses différentes couches de librairies et d’interfaces ; les API de ces interfaces étant toutes différentes. Ainsi nos applications sont fortement dépendantes des ressources (y compris graphique) du système hôte, dépendantes des API des interfaces utilisées, et le code produit ne peut s’exécuter que sur le système pour lequel il a été initialement produit. 2.2 Le monde avec Java Tout d’abord, Java simplifie le processus de développement : quelle que soit la machine sur laquelle on code, le compilateur fournit le même code. Ensuite, quel que soit le système utilisé cet unique code est directement opérationnel: En effet, la compilation d’un source Java produit du pseudo-code (byte code) Java qui sera exécuté par tout interpréteur Java sans aucune modification ou recompilation. Cet « interpréteur » est couramment dénommé « machine virtuelle Java ». 3 Utilisation du JDK (Kit de développement Java) Permet le développement de programmes en Java. Il est constitué de plusieurs outils tel que : - javac.exe : compilateur - java.exe : interpréteur 1 - jdb.exe : debugger… et d’une importante librairies de classe (API). Téléchargement : http://www.sun.com/products/index.html Configuration : Chemin d’accès aux exécutables En supposant que vous avez choisi la version windows 98. Vous devez modifier la variable PATH du fichier autoexec.bat : - Ouvrez à l’aide d’un éditeur de texte, le fichier autoexec.bat se trouvant dans la racine du disque dur - Localisez la ligne commençant par set path et ajoutez à la fin de celle-ci : set path = c:\jdk1.2\bin La variable d’environnement ‘path’ indique à Windows le chemin d’accès qu’il doit utiliser pour trouver les programmes exécutables. Windows cherche les programmes exécutables tout d’abord dans le dossier à partir duquel la commande est tapée, puis dans les dossiers dont les chemins d’accès sont indiqués par la variable « path ». Chemin d’accès aux classes Java Le chemin d’accès aux classes Java peut être configuré exactement de la même façon à l’aide de la variable classpath. 4 Syntaxe du langage Java 4.1 Type de variables En Java on dispose des mêmes types qu’en langage C (int, float, char…). On dispose d’en plus du type boolean (1 bit). Ce type a deux valeurs possibles false et true (initialisation à false). 4.2 Opérateurs Opérateurs arithmétiques + - * / % ++ -- Opérateurs d’affectation = += -= *= /= Opérateurs de comparaison < > <= >= 2 Opérateurs logiques ! && || 4.3 Structures de contrôle et débranchements Boucles répétitives while do…while for Instructions pour faire des choix if…else switch…case 5 Principe de la programmation en Java : l’orienté objet Un programme structuré (Pascal, C…) est composé de fonctions indépendantes constituées d’instructions simples et structurés. Ainsi, les données et les fonctions qui opèrent sur elles sont séparées. Les données apparaissent généralement en tête du programme et sont donc visibles de toutes les fonctions qui suivent. Cette organisation pose le grave problème des effets de bord. En entrant dans une fonction, on est jamais assuré de trouver les données dans l’état attendu, car n’importe quelle autre fonction, même si ce n’est pas son rôle, peut les modifier. De plus, à cause de cette séparation entre données et fonctions, de profonds bouleversements du programme sont nécessaires quand les structures de données sont modifiées. La solution à ces problèmes est la programmation objet. Elle est basée sur trois principes fondamentaux : l’encapsulation, l’héritage, et le polymorphisme. 5.1 L’encapsulation L’encapsulation des données est le premier et le plus important des concepts de la programmation objet. Il stipule que les données et les fonctions qui opèrent sur elles sont encapsulées dans des objets. Les seules fonctions a être autorisées à modifier les données d’un objet sont les fonctions appartenant à cet objet. Depuis l’extérieur d’un objet, on ne peut le modifier que par des fonctions faisant office d’interface. Ainsi, il n’est plus à craindre que des fonctions modifient indûment des données. 5.2 L’héritage Les objets, comme les données, possèdent un type que l’on appelle classe. Les classes peuvent être organisées en hiérarchies, chaque classe héritant de sa classe mère ou super-classe. L’héritage est ainsi source d’économie de code, une classe peut être définie comme la descendante d’une classe (ou sous-classe). 5.3 Le polymorphisme Le troisième principe de base de la programmation objet est le polymorphisme. Il passe plus inaperçu que les précédentS. Des fonctions différentes dans les classes différentes peuvent 3 prendre le même nom. Ainsi, dans une hiérarchie de classes d’éléments graphiques la fonction dessiner( ) aura le même nom pour un polygone ou un cercle, cependant les techniques utilisées pour dessiner ces éléments sont différentes. Le polymorphisme est beaucoup plus puissant qu’il n’y paraît à première vue. Il fait économiser des identificateurs de fonctions et rend les notations plus lisibles. 4 CHAPITRE 2: DECOUVERTE DU LANGAGE 1 Définition d’une classe et d’un objet en Java La notion de classe est un enrichissement de la notion usuelle de structure en C (struct) en C. Une classe permet de définir un type d’objet, éventuellement compliqué, associant des données et des procédures qui accèdent à ces données. Les données se présentent sous forme de champ désignés par identificateurs et dotés d’un type. A une donnée, on associe un mot clé qui désigne l’accessibilité de cette donnée. Les procédures, également appelées méthodes, définissent les opérations possibles sur ces composants. A une méthode, on associe un mot clé désignant l’accessibilité de cette méthode. Exemple class Point { private int _x; private int _y; public Point() { _x = 0 ; _y = 0 ; } public Point(int x, int y) { _x = x ; _y = y ; } public void avancer(int dx, int dy) { _x = _x + dx ; _y = _y + dy ; } } La classe Point possède deux attribut : _x, _y et trois méthodes Point(), Point(int, int), avancer(int, int). Le mot clé private indique que l’attribut est privé il ne sera accessible que par les méthodes appartenant à la classe. Un attribut public est accessible par une méthode appartenant à une autre classe (voir aussi paragraphe 9). Remarque Le corps (contenu) des méthodes d’une classe sera défini dans la classe elle-même. 5 Initialisation des objets : constructeur Une classe peut définir une ou plusieurs procédures d’initialisation appelées constructeurs. Un constructeur est une méthode avec aucune valeur de retour et qui porte le même nom que la classe. S’il existe plusieurs méthodes dans une classe, elles se distinguent par le type ou le nombre de paramètres : Point( ) et Point(int, int) Le constructeur permet de créer une instance de la classe. Une instance de classe est dite objet. Pour créer un Point on va : 1. Déclarer un handle sur un Point. Point p ; (p est un handle sur un point). Remarque Un handle est un numéro. Par exemple, quand une application alloue de la mémoire, le compilateur ne rend pas un pointeur mais un numéro. Ce numéro est associé à une zone mémoire. 2. La déclaration seule ne crée pas d’objet. Elle associe l’identificateur à une référence appelée null qui ne fait référence à rien. p Pour créer une instance de la classe point (on dit objet de la classe Point), il faut exécuter new en citant un constructeur de la classe Point, avec ses paramètres. La primitive new rend en résultat la référence sur l’objet crée, qu’il suffit alors d’affecter à la variable déclarée : new Point(2,0) Point p = new Point(2,0) ; destruction des objets: destructeur Avec Java, plus besoin d'écrire une fonction destructeur. En effet, il existe un programme appelé 'garbage collector' (ramasseur d'ordures) qui est exécuté automatiquement dés que la mémoire disponible devient inférieure à un certain seuil. 6 null 2 Compilation et exécution d’un programme en java Pour compiler un programme en Java, il faut utiliser l’instruction javac suivi du nom du fichier. Exemple Pour compiler la classe uploads/Industriel/ polycopie-sur-le-langage-java 1 .pdf

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