Programmation Orientée Objet Application avec JAVA DGIMA GINF-1 Application avec JAVA 2017-2018 Mouna Torjmen Khemakhem
Plan du cours • Introduction • Chapitre 1: Classe et Objet • Chapitre 2: Encapsulation •• Chapitre 3: Les collections • Chapitre 4: Héritage et polymorphisme • Chapitre 5: Classes abstraites et interfaces • Chapitre 6: Les exceptions
Introduction Mouna Torjmen Khemakhem
Notion : Orienté Objet • La programmation orientée objet se base sur une approche de conception et de développement de logicielslogiciels • Représenter les éléments du monde réel par des entités informatiques appelés "objets" en adoptant un haut niveau d'abstraction. 4 Mouna Torjmen Khemakhem
Notion : Orienté Objet • Conception et Développement d'un logiciel 5 Mouna Torjmen Khemakhem
Notion : Orienté Objet • Approche procédurale : "Que doit faire mon programme ? " • Approche orientée-objet : "De quoi doit être composé mon programme ?" Mouna Torjmen Khemakhem 6
Notion : Orienté Objet •Des objets similaires peuvent être informatiquement décrits par une même abstraction : une classe même structure de données et méthodes de traitement valeurs différentes pour chaque objet Mouna Torjmen Khemakhem 7
Notion : Orienté Objet Classe Livre -titre -auteur Classe Journal -titre Classe Employé -nom -prénom -statut Classe Lecteur -nom -prénom 8 Mouna Torjmen Khemakhem
• Exemples: Notion : Orienté Objet Mouna Torjmen Khemakhem 9
JAVA : La plateforme • Un langage de programmation orienté objet crée par Sun MicroSystems • Présenté officiellement en 23 Mai 1995 au SunWord. • Java est multiplateforme • Java est sous Licence libre depuis 13 Novembre 2006. • En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle apparaît dans la documentation Java • Avec JAVA: des applications, sous forme de fenêtre ou de console ; des applets des applications pour appareils mobiles, avec J2ME et Android; et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10 Mouna Torjmen Khemakhem
JAVA: classe • Les briques de constructions d’un programme JAVA sont les classes LES ATTRIBUTS : Les attributs représentent la description des données Partie statique les données (Propriétés) description des données propres à chaque classe d'objets le code les manipulant (Méthodes) Classe LES METHODES : Les méthodes représentent l'ensemble des actions, procédures, fonctions ou opérations que l'on peut associer à une classe Partie dynamique 11 Mouna Torjmen Khemakhem
Programme JAVA Un programme Java est compilé et interprété Compilé -le code source est, directement, interprété sans phase de compilation,Compilé -le code source est soumis à un compilateur, pour en faire un fichier binaire compréhensible par un microprocesseur (une sorte de pré- fichier .exe) Interprété interprété sans phase de compilation, et c'est l'interprète qui exécute ce code source, qu'il interprète à la volée.(JVM) 12 Mouna Torjmen Khemakhem
Programme JAVA public class Hello { public static void main (String args[ ]) { System.out.println (" Hello World ! "); } } Hello.java javac Hello.javajavac Hello.java java Hello Hello.class Fichier source ByteCode Code exécutable -------------- -------------- 13 Mouna Torjmen Khemakhem
Programme JAVA L'interpréteur Java s'appelle machine virtuelle Java (JVM) •Une machine virtuelle est un ordinateur fictif s’exécutant sur un ordinateur réel : possède un langage natif propre et traduit un programme écrit dans ce langage vers le langage natif de l’ordinateur. Définit les spécifications hardware de la plateforme Lit le bytecode compilé (indépendant de la plateforme) 14 Mouna Torjmen Khemakhem
Versions java • JDK 1.0 (January 23, 1996) • JDK 1.1 (February 19, 1997) • J2SE 1.2 (December 8, 1998) • J2SE 1.3 (May 8, 2000) • J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002) • J2EE 5.0 (September 30, 2004) • Java SE 6 (December 11, 2006) • Java SE 7 (July 28, 2011) • Java 8 (March 18, 2014) • Java SE 9 (September 21, 2017) 15 Mouna Torjmen Khemakhem
Identificateurs • Nommer les classes, les variables, les méthodes, ... • Un identificateur Java est de longueur quelconque commence par une lettre Unicode peut ensuite contenir des lettres ou des chiffres ou le caractère souligné«_ » ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … ) • Les caractères suivants sont autorisés pour construire un identificateur Java : "$" , "_" , "μ" et les lettres accentuées. [a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode} 16 Mouna Torjmen Khemakhem
Les règles de nommage • Classe : 1ère lettre en majuscule Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule Donner des noms simples et descriptifs Packages• Packages Tout en minuscule. Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-', d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...). • Constante: Les constantes sont en majuscules et les mots sont séparés par le caractère souligné« _ »: UNE_CONSTANTE 17 Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE • On développe, généralement, un programme JAVA en utilisant un IDE, • Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA consistante, on a besoin du JDK, • Pour tester et lancer le code écrit, on doit, nécessairement, disposer du JRE. 18 Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE IDE (Integrated Development Environment) Un programme regroupant un ensemble d'outils pour le développement de logiciels. En général, un IDE regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur. (Exp: Eclipse, Netbeans) SDK (Software Development Kit) Ce kit est composé d'un JRE, d'un compilateur et de nombreux programmes utiles, des exemples de programmes Java, les sources de toutes les classes de l'api. 19 Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE JRE (Java Runtime Environment) L’environnement qui permet d'exécuter les applications java, Il est constitué de la JVM en particulier (Java Virtual Machine). Environment) JDK (Java Development Kit) Outils permettant de développer, compiler (javac), débuguer (jdb) et exécuter un programme java. Il y a aussi des outils d'archivage (jar), de génération de documentation (javadoc). 20 Mouna Torjmen Khemakhem
Environnement de développement intégré (EDI) • Exemple : Eclipse, Netbeans, Jcreator, … • La compilation se fait implicitement lorsque il y a des changements dans les fichiers sources. • L'interprétation se lance graphiquement avec le bouton Run. • Le résultat apparaît dans un console intégré à l'EDI. 21 Mouna Torjmen Khemakhem

POO Java Introduction

  • 1.
    Programmation Orientée Objet Applicationavec JAVA DGIMA GINF-1 Application avec JAVA 2017-2018 Mouna Torjmen Khemakhem
  • 2.
    Plan du cours •Introduction • Chapitre 1: Classe et Objet • Chapitre 2: Encapsulation •• Chapitre 3: Les collections • Chapitre 4: Héritage et polymorphisme • Chapitre 5: Classes abstraites et interfaces • Chapitre 6: Les exceptions
  • 3.
  • 4.
    Notion : OrientéObjet • La programmation orientée objet se base sur une approche de conception et de développement de logicielslogiciels • Représenter les éléments du monde réel par des entités informatiques appelés "objets" en adoptant un haut niveau d'abstraction. 4 Mouna Torjmen Khemakhem
  • 5.
    Notion : OrientéObjet • Conception et Développement d'un logiciel 5 Mouna Torjmen Khemakhem
  • 6.
    Notion : OrientéObjet • Approche procédurale : "Que doit faire mon programme ? " • Approche orientée-objet : "De quoi doit être composé mon programme ?" Mouna Torjmen Khemakhem 6
  • 7.
    Notion : OrientéObjet •Des objets similaires peuvent être informatiquement décrits par une même abstraction : une classe même structure de données et méthodes de traitement valeurs différentes pour chaque objet Mouna Torjmen Khemakhem 7
  • 8.
    Notion : OrientéObjet Classe Livre -titre -auteur Classe Journal -titre Classe Employé -nom -prénom -statut Classe Lecteur -nom -prénom 8 Mouna Torjmen Khemakhem
  • 9.
    • Exemples: Notion :Orienté Objet Mouna Torjmen Khemakhem 9
  • 10.
    JAVA : Laplateforme • Un langage de programmation orienté objet crée par Sun MicroSystems • Présenté officiellement en 23 Mai 1995 au SunWord. • Java est multiplateforme • Java est sous Licence libre depuis 13 Novembre 2006. • En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle apparaît dans la documentation Java • Avec JAVA: des applications, sous forme de fenêtre ou de console ; des applets des applications pour appareils mobiles, avec J2ME et Android; et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10 Mouna Torjmen Khemakhem
  • 11.
    JAVA: classe • Lesbriques de constructions d’un programme JAVA sont les classes LES ATTRIBUTS : Les attributs représentent la description des données Partie statique les données (Propriétés) description des données propres à chaque classe d'objets le code les manipulant (Méthodes) Classe LES METHODES : Les méthodes représentent l'ensemble des actions, procédures, fonctions ou opérations que l'on peut associer à une classe Partie dynamique 11 Mouna Torjmen Khemakhem
  • 12.
    Programme JAVA Un programmeJava est compilé et interprété Compilé -le code source est, directement, interprété sans phase de compilation,Compilé -le code source est soumis à un compilateur, pour en faire un fichier binaire compréhensible par un microprocesseur (une sorte de pré- fichier .exe) Interprété interprété sans phase de compilation, et c'est l'interprète qui exécute ce code source, qu'il interprète à la volée.(JVM) 12 Mouna Torjmen Khemakhem
  • 13.
    Programme JAVA public classHello { public static void main (String args[ ]) { System.out.println (" Hello World ! "); } } Hello.java javac Hello.javajavac Hello.java java Hello Hello.class Fichier source ByteCode Code exécutable -------------- -------------- 13 Mouna Torjmen Khemakhem
  • 14.
    Programme JAVA L'interpréteur Javas'appelle machine virtuelle Java (JVM) •Une machine virtuelle est un ordinateur fictif s’exécutant sur un ordinateur réel : possède un langage natif propre et traduit un programme écrit dans ce langage vers le langage natif de l’ordinateur. Définit les spécifications hardware de la plateforme Lit le bytecode compilé (indépendant de la plateforme) 14 Mouna Torjmen Khemakhem
  • 15.
    Versions java • JDK1.0 (January 23, 1996) • JDK 1.1 (February 19, 1997) • J2SE 1.2 (December 8, 1998) • J2SE 1.3 (May 8, 2000) • J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002) • J2EE 5.0 (September 30, 2004) • Java SE 6 (December 11, 2006) • Java SE 7 (July 28, 2011) • Java 8 (March 18, 2014) • Java SE 9 (September 21, 2017) 15 Mouna Torjmen Khemakhem
  • 16.
    Identificateurs • Nommer lesclasses, les variables, les méthodes, ... • Un identificateur Java est de longueur quelconque commence par une lettre Unicode peut ensuite contenir des lettres ou des chiffres ou le caractère souligné«_ » ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … ) • Les caractères suivants sont autorisés pour construire un identificateur Java : "$" , "_" , "μ" et les lettres accentuées. [a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode} 16 Mouna Torjmen Khemakhem
  • 17.
    Les règles denommage • Classe : 1ère lettre en majuscule Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule Donner des noms simples et descriptifs Packages• Packages Tout en minuscule. Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-', d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...). • Constante: Les constantes sont en majuscules et les mots sont séparés par le caractère souligné« _ »: UNE_CONSTANTE 17 Mouna Torjmen Khemakhem
  • 18.
    IDE, SDK, JDK,JRE • On développe, généralement, un programme JAVA en utilisant un IDE, • Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA consistante, on a besoin du JDK, • Pour tester et lancer le code écrit, on doit, nécessairement, disposer du JRE. 18 Mouna Torjmen Khemakhem
  • 19.
    IDE, SDK, JDK,JRE IDE (Integrated Development Environment) Un programme regroupant un ensemble d'outils pour le développement de logiciels. En général, un IDE regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur. (Exp: Eclipse, Netbeans) SDK (Software Development Kit) Ce kit est composé d'un JRE, d'un compilateur et de nombreux programmes utiles, des exemples de programmes Java, les sources de toutes les classes de l'api. 19 Mouna Torjmen Khemakhem
  • 20.
    IDE, SDK, JDK,JRE JRE (Java Runtime Environment) L’environnement qui permet d'exécuter les applications java, Il est constitué de la JVM en particulier (Java Virtual Machine). Environment) JDK (Java Development Kit) Outils permettant de développer, compiler (javac), débuguer (jdb) et exécuter un programme java. Il y a aussi des outils d'archivage (jar), de génération de documentation (javadoc). 20 Mouna Torjmen Khemakhem
  • 21.
    Environnement de développement intégré(EDI) • Exemple : Eclipse, Netbeans, Jcreator, … • La compilation se fait implicitement lorsque il y a des changements dans les fichiers sources. • L'interprétation se lance graphiquement avec le bouton Run. • Le résultat apparaît dans un console intégré à l'EDI. 21 Mouna Torjmen Khemakhem