Cours 1 - Généralités -JAVA.pdf
Document Details
Uploaded by Deleted User
Université Cadi Ayyad
2020
Tags
Related
- OOP - JAVA Object-Oriented Programming PDF
- Topic 1.6 Running Program with Objects PDF
- CS0070 Object-Oriented Programming Module 1 PDF
- Object Oriented Programming (2nd Year 1st Sem) PDF
- Introduction to Java Programming and Data Structures (2019) by Y. Daniel Liang - PDF
- VILLASAN Object-Oriented Programming PDF
Full Transcript
Université Cadi Ayyad Ecole Supérieure de Technologie – Safi Cours 1 Cours de la programmation orientée objet (jaVa) Pr. EL ABDELLAOUI SAID Elabdellaoui.s...
Université Cadi Ayyad Ecole Supérieure de Technologie – Safi Cours 1 Cours de la programmation orientée objet (jaVa) Pr. EL ABDELLAOUI SAID [email protected] généralités El Abdellaoui Saïd Programmation Orientée Objet : Java 2020 / 2021 SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi PLANIFICATION 2 S? S1 Généralités & Le paradigme objet P.O.O Application S7 S2 & compléte Héritage JAVA Les bases de Polymorphisme données S6 S3 & Collections Programmation Interfaces graphique S5 & S4 Exceptions SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM INTRODUCTION 4 Modes de programmation Procédurale O.O Procédurale : Les notions de variables/types de données et de traitement de ces données étaient séparées : // Méthode !! double Surface (double l, double h){ return (l × h) } main () { // Déclarations !! double Largeur = 7.0; double Hauteur = 2.0 ; // Affichage !! print (" Surface du rectangle : "+ Surface (largeur, hauteur) ); } SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM INTRODUCTION 5 Modes de programmation Procédurale O.O Procédurale : Les notions de variables/types de données et de traitement de ces données étaient séparées : Orienté Objet : Opèrent sur O.O Traitement Données Influencent SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM INTRODUCTION 6 Modes de programmation Procédurale O.O Public class Rectangle { P public ublic static void main ( String[] args ) { // Déclarations !! double Largeur = 7.0; double Hauteur = 2.0 ; Rectangle // Affichage !! System.out. println (" Surface du rectangle : "+ + Largeur : double Surface (largeur, hauteur) ); + Hauteur : double + Surface () : double } // Méthode !! double Surface (double l, double h){ return (l × h) } } SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM INTRODUCTION 7 Java utilise les notions usuelles de la programmation orientée objet : Encapsulation Abstraction Héritage Polymorphisme Générésités ……. SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi GÉNÉRALITÉS INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 9 Différentes langage de programmation SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 10 C : 1975-2000 JAVA : 2001-2018 Python : 2019-2021 Evolution de différentes langage de programmation SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 11 The Green Project 1991 Lancement Langage portable = 1995 SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 12 OAK SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 13 SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 14 2010 SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM HISTORIQUE DE JAVA 15 L’histoire de JAVA a commencée depuis 1991 et lancé 1995 par SUN Microsystems sous un projet nommé (‘‘Green Project’’). Son premier nom était OAK. Langage de programmation inspiré du C++ Libre depuis novembre 2006 Racheté par Oracle en 2010 Un langage accompagné d’un ensemble énorme de bibliothèques standard couvrant de très nombreux domaines. SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PRÉSENTATION DE JAVA 16 Pas de pointeur Simple Pas d’héritage multiple permettre d'accéder aux fichiers à partir de n'importe quelle machine sur Internet. Distribué Robuste concept de Garbage Collector puissante allocation de mémoire être modifiées sans avoir à modifier le programme qui les utilise Dynamique Sur systèmes sans virus Multi-thread Portable décomposée en unités d’exécution fonctionnant simultanément s'exécuter dans différentes plateformes. SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PRÉSENTATION DE JAVA 17 Il est basé sur une architecture logicielle nécessitant une machine virtuelle java (JVM). JAVAC JVM Fichier.java (Compilateur) Fichier.class (machine virtuelle) (Code source) (bytecode) - ------ < =>,)‘& 1001000101 %$#!^]\[ ------ < =>,)‘& %$#!^]\[ ------ < =>,)‘& Architecture du langage JAVA SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PLATE-FORMES JAVA 18 Java SE : “Standard Edition” : Java ME : “Micro Edition”. Edition qui sert à écrire des applications embarquées Ex. : téléphone portable, carte à puce Java EE : “Enterprise Edition”. Rajoute certaines API et fonctionnalités pour les entreprises. Java Fx: Créer des applications Internet riches à l'aide d'une API d'interface utilisateur légère. C'est un ajout récent à la famille des plates-formes Java. SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PLATEFORME JAVA - OUTILS - 19 ? ? ? ? SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PLATEFORME JAVA 20 JRE JVM + JDT + API JDK JVM signifie Java Virtual Machine permet de traduire Byte Code en code de la machine hôte (host machine). JRE signifie Java Runtime Environment, il comprend JVM et un certain nombre de bibliothèques Java qui aident à exécuter des programmes écrits en langage Java. API : est l'abréviation Application Programming Interface c'est une large collection de software composants groupés en bibliothèques appelés packages. JDK est l'abréviation de Java Development Kit, il se compose de 2 composants JRE et JDT. JDT est l'abréviation de Java Development Tools fournissent des outils pour le développement d'applications Java, tels que Javac aide à compiler le code source des programmeurs en Byte Code. SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PLATE-FORMES JAVA 21 Installation : Le JDK peut être téléchargé gratuitement à partir du site de Oracle (www.oracle.com) Exécuter jdk-8u13-windows-i586-p.exe. Le JDK sera installé dans le répertoire c:program files\java et installe également jre1.8 dans le même dossier. Les programmes nécessaire au développement java sont placés dans le répertoire c:\jdk1.5\bin a savoir: javac.exe Compilateur java. java.exe: Interpréteur du bytecode java. appletviewer.exe Pour tester les applets java. Jdb.exe : Débogueur java. Javap.exe désassembleur du bytecode. Javadoc.exe : Générer la documentation de vos programmes java. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM JAVA : ENTRÉES / SORTIES 22 L’aspect le plus utile de la classe System est les variables qu’elle déclare, qui permettent d’avoir une interaction avec le système. On y trouve les variables in, out et err. La variable in représente le flux d’entrée standard du système, alors que la variable out représente le flux de sortie standard. La variable err est le flux d’erreur standard. ( les flux vont être détailler prochainement ) Pour afficher une chaine de caractère : System.out.println("Chaine de caractère") ; Pour afficher une erreur : System.err.println("Erreur à l’ouverture") ; SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi 1ÉRE APPLICATION SUR MACHINE INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM NOTRE PREMIER PROGRAMME EN JAVA 24 public class Bonjour { Bonjour.java public static void main ( String [ ] args ) { System.out.println ("Bonjour tout le monde !! "); } } Le main est le point d’entrée pour l’exécution d’une application Java. La classe contenant la méthode statique main doit obligatoirement être public pour que la machine virtuelle y ait accès. Le profil de cette méthode est public static void main ( String [ ] args ) public : pour qu’elle puisse être exécutée par la machine virtuelle java (JVM). static : pour que l’exécution puisse avoir lieu avant même la création d’une instance de la classe. args : tableau d’objets String (chaînes de caractères) contenant les arguments de la ligne de commande SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM STRUCTURATIONS D’UN PROGRAMME 25 Structure d’un programme en P.O.O Programme Java utilise un ensemble de classes Une classe regroupe un ensemble d’attributs et de méthodes Les classes sont regroupées par package Package Sous package Classe n Classe 2 Classe 1 Classe 1 Attributs Attributs Méthodes Méthodes Interfaces SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PACKAGES 26 Un Package est une collection nommé de classes, d’interfaces et de sous-packages. Il permet de les regrouper sémantiquement. Exemples : AWT : Abstract Windows Toolkit Réseau : Sockets (serveurs, clients), Web … Entrées/Sorties : JAVA.io SQL Swing, SWT, … java SQL util awt net lang Connection Date event Button Socket String PreparedStatement Scanner List. URL Thread … … … … … … Exemple java.lang ; java.lang.String ; java.util.Data ; java.awt.event.MouseEvent; SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM PACKAGES (QUELQUES APIS DE BASE) 27 java SQL util awt net lang Connection Date event Button Socket String PreparedStatement Scanner List. URL Thread … … … … … … java.util.Date dateDuJour = new java.util.Date(); System.out.println(dateDuJour); Ou import java.util.Date; Date dateDuJour = new Date(); System.out.println(dateDuJour); Ou import java.util.* ; Date dateDuJour = new Date(); System.out.println(dateDujour); SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi INTRODUCTION GÉNÉRALITÉS 1ERE APPLICATION 2EME APPLICATION QCM JAVA : ENTRÉES / SORTIES 28 L’aspect le plus utile de la classe System est les variables qu’elle déclare, qui permettent d’avoir une interaction avec le système. On y trouve les variables in, out et err. La variable in représente le flux d’entrée standard du système, alors que la variable out représente le flux de sortie standard. La variable err est le flux d’erreur standard. ( les flux vont être détailler prochainement ) Pour afficher une chaine de caractère : System.out.println("Chaine de caractère") ; Pour afficher une erreur : System.err.println("Erreur à l’ouverture") ; Pour lire une chaine de caractère : Importer la bibliothèque java.util.Scanner; nextInt Scanner s = new Scanner(System.in); nextLine int i = s. nextInt(); nextDouble SAID EL ABDELLAOUI Programmation Orientée Objet : Java EST-Safi 2ÉME APPLICATION SUR MACHINE