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
Documents similaires
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 26, 2021
- Catégorie Business / Finance
- Langue French
- Taille du fichier 1.1597MB