POO/JAVA UML_GI2 S. KOULALI 1 Philosophie Objet Pourquoi étudier la programmat

POO/JAVA UML_GI2 S. KOULALI 1 Philosophie Objet Pourquoi étudier la programmation objet (PO) ? Simuler une réalité (modèle) avec différents niveau d'abstraction. Pour concevoir et réaliser des logiciels complexes avec le minimum d'erreurs. Favoriser le travail collaboratif sur des projets d'envergure. Approche Client/Fournisseur et sécurité accrue. UML_GI2 S. KOULALI 2 Domaines d'utilisation Java est utilisé dans divers domaines tels que : Les smartphone tournant sous Android supportent des applications écrites en JAVA. Big Data & recherche scientifique : Le framework Hadoop est entièrement écrit en JAVA. Les Systèmes d'information des entreprises pour la partie Facturation, Stock, . . .. La finance. . . . UML_GI2 S. KOULALI 3 UML_GI2 S. KOULALI 4 Java et les autres langages de programmation UML_GI2 S. KOULALI 5 Outils pour Développement JAVA Java Development Kit Standard Edition (JDK SE) http ://www.oracle.com/technetwork/java/javase/downloads/index.html Éditeur de texte Notepad++, bloc note, . . . Gedit, vim, emacs, . . . , . . . Environnement de Développement Intégré (EDI) (IDE :)) Eclipse, Netbeans Complétion de code, indication des erreurs, . . . UML_GI2 S. KOULALI 6 Ressources Bibliographique https ://docs.oracle.com/javase/8/docs/api/ UML_GI2 S. KOULALI 7 Java : le choix d'une architecture dynamique Java est un langage moderne qui puise son inspiration de sources diverses : une syntaxe très proche du C/C++ une architecture dynamique avec un compilateur et une JVM Java évolue régulièrement (nouvelle bibliothèque IHM dans JAVA5, lambda calcul dans JAVA8. . .) UML_GI2 S. KOULALI 8 Portabilité Java est SE-indépendant, il est portable et s'exécute sur tout les SE sans modification du code source. UML_GI2 S. KOULALI 9 Caractéristiques UML_GI2 S. KOULALI 10 Dynamique Java est dynamique et s'adapte à un environnement évolutif. Le support de l'allocation dynamique de la mémoire réduit les memory-leaks et booste les performances. UML_GI2 S. KOULALI 11 Concurrence Java supporte la programmation concurrente ou des ensembles d'instructions peuvent être exécutés en parallèle. UML_GI2 S. KOULALI 12 Sécurité Java est un langage sécurisé. Le code source est converti en byte-code non lisible. L'accès directe à la mémoire n'est pas autorisé. Les programmes sont exécuté au sein d'un sandbox pour ne pas compromettre le système hôte. UML_GI2 S. KOULALI 13 Robustesse Java est un langage robuste : Java dispose d'un mécanisme puissant de gestion de la mémoire. Les erreurs sont éléiminés avec vérication du code lors de la compilation et de l'exécution. Java prend en charge l'allocation et la libération de la mémoire (pas de pointeurs !). UML_GI2 S. KOULALI 14 Performances Java réalise de grandes performances Les compilateurs JIT (Just-In-Time) permettent de booster les performances des programmes JAVA. UML_GI2 S. KOULALI 15 Programmation distribuée Java permet de créer des programmes distribués. Avec Remote Method Invocation (RMI), un programme java peut invoquer une méthode d'un autre programme via un réseau connectant les deux VMs les hébergeants. UML_GI2 S. KOULALI 16 Différentes Plateformes Java Java Micro Edition : Environnement Java destiné aux applications tournant sur terminaux mobiles et embarqués (Téléphones portables, personal digital assistants (PDAs), Imprimantes). Java Standard Edition : Environnement Java pour le développement et la déploiement d'applications sur des ordinateurs personnels et serveurs ainsi que pour les systèmes embarqués avec forte exigences. Java Entreprise Edition : Environnement Java riche pour le développement d'application à l'échelle de l'entreprise. Développé avec la contribution d'experts du monde industriel, commerciale et des organisations open source dans le cadre du Java Community Process. UML_GI2 S. KOULALI 17 La Java Virtual Machine (JVM) JVM : Une spécification d'une machine abstraite qui fournit l'environnement d'exécution du bytecode JAVA. Le processeur physique ne peux exécuter que les programmes écrit en langage binaire adéquat. L'appellation JVM décrit les éléments suivants : Une spécification : Un document fournit par ORACLE décrivant l'implémentation de la JVM. Analogie : croquis/produit (UML, . . .) Implémentation : un programme qui répond aux exigences mentionnés dans la spécification de la JVM (Écrit en quel langage de programmation ?) Instance d'exécution : Une instance de la JVM est crée et chargée en mémoire par le système d'exploitation au besoin. UML_GI2 S. KOULALI 18 Java Runtime Environment (JRE) JRE représente l'environnement d'exécution du bytecode. Il implémente la JVM et fournit toutes les bibliothèques de classes utilisées par les programmes JAVA en cours d'exécution. La JRE est un composant logiciel qui contient les fonctionnalités nécessaires à l'exécution d'un programme JAVA. UML_GI2 S. KOULALI 19 Composants JAVA SE UML_GI2 S. KOULALI 20 Le Java Development Kit (JDK) Le Java Development Kit (JDK) regroupe les outils pour compiler, documenter et packager les programmes JAVA. La machine virtuelle Java (JRE) Le compilateur Java (javac) Un générateur de documentation (javadoc) Le désassembleur de chier .class (javap). L'archiveur pour packager plusieurs chiers (jar) . . . JDK = JRE ⊕Outils de développement. UML_GI2 S. KOULALI 21 Java SE UML_GI2 S. KOULALI 22 Composants de la Java SE UML_GI2 S. KOULALI 23 La machine virtuelle Java (Suite) UML_GI2 S. KOULALI 24 Le bytecode Le code source Java UML_GI2 S. KOULALI 25 Le compilateur et l'interpréteur java Programme javac.exe UML_GI2 S. KOULALI 26 Le bytecode Le bytecode associé UML_GI2 S. KOULALI 27 Arborescence de la jdk Le choix du dossier est fournit lors de l'installation. UML_GI2 S. KOULALI 28 Dossier Contenu jdk<version> Répertoire d'installation de la jdk jdk<version>\bin Contient les exécutables : javac, java, jdb, jar . . . jdk<version>\lib Contient des bibliothèques java ( chiers .jar) jdk<version>\include Contient les chiers d'entête C pour faire in- teragir code java et code natif jdk<version>\jre Contient les chiers de la JVM Et l'open source Le projet OpenJDK http://openjdk.java.net/ Oracle projette de déléguer la gestion de la JAVA SE à une fonction dédiée (A suivre). UML_GI2 S. KOULALI 29 Philosophie Objet UML_GI2 S. KOULALI 30 Une classe, un main En JAVA, l'unité élémentaire est la classe qui encapsule le code. Les nom des classes commencent par une majuscule. Un programme principal constitue le point d'entrée dans un logiciel complexe avec de plusieurs classes. UML_GI2 S. KOULALI 31 Une classe, un main : syntaxe Signature du main : public static void main(String[] args) Achage : System.out.println ("xxxxxxxxxxxxx") ; UML_GI2 S. KOULALI 32 Compilation/Exécution Compilation : Vérication de la syntaxe, droits d'accès. . . Génération du bytecode : MonPremierProgramme.class 1 [ chemin prog java ]>javac MonPremierProgramme . j a v a Exécution : 1 [ chemin prog java]>java MonPremierProgramme 2 [ chemin prog java]>Bonjour ! UML_GI2 S. KOULALI 33 Philosophie Décomposer un programme complexe en plusieurs unités (objets) en respectant lors de leurs conception les principes de : Réutilisabilité dans plusieurs programmes . . . Sécurité : pour correspondre à la réalité et garantir une utilisation cohérente par d'autres objets. Simplicité : les objets en interaction n'exposent que ce qui est nécessaire. Ce qu'il faut faire : Concevoir un bon découpage & penser à la sécurité. Documenter le code. Respecter les conventions de codage. UML_GI2 S. KOULALI 34 Encapsulation(Sécurité) Nouvelle classe : Etudiant.java Construction : deux valeurs entières pour initialiser le cne et l'age. Communication : dénir une méthode pour observer chaque donnée. UML_GI2 S. KOULALI 35 Encapsulation(Suite) Nouveau Type :) int i ; Etudiant e ; Construction d'un objet de type Etudiant ? 1. e = new Etudiant (123456 , 24) ; Le "." permet d'accéder à l'interface de l'objet : 1. e . getAge ( ) ; UML_GI2 S. KOULALI 36 uploads/Finance/ poo-java1.pdf

  • 16
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 26, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 1.1597MB