Support Java Java - Concept objet Support Java : Objets JM Angeli 2010 1/18 Support Java Objet : Objet : représentation d’un concept du monde réel : Caractérisé par : - Identité → Qui il est. - État : → Ce qu’il sait. - Comportement → Ce qu’il peut faire. Support Java : Objets JM Angeli 2010 2/18 1 Support Java Caractéristiques d’un objet : Identifiant unique attribué à un objet lui permettant d’être distingué des autres objets. Identité : + Attributs : Données ou champs stockant des informations sur un objet. + Méthodes : Actions, calculs, traitements réalisables par l’objet. Support Java : Objets 3/18 JM Angeli 2010 Support Java Classe : Description abstraite d’un objet Ensemble des éléments composant l’objet : Méthodes (Opérations) + Attributs (Valeurs) Instanciation de la classe Identité Objet Support Java : Objets JM Angeli 2010 4/18 2 Support Java Abstraction des données → Indépendance : Modification de la structure interne de la classe sans changement visible par l’utilisateur. Détails de l’implémentation Attributs (Valeurs) Méthodes (Opérations) Interface Publique Attributs (Valeurs) Détails de l’implémentation Méthodes (Opérations) Interface Publique Méthodes (Opérations) Support Java : Objets JM Angeli 2010 5/18 Support Java Encapsulation des données et des méthodes : Modularité Maintenance indépendante des autres objets. Masquage Les autres objets ne voient que ce qu’ils ont besoin. Support Java : Objets JM Angeli 2010 6/18 3 Support Java Programme : Ensemble d’objets échangant des messages Objet Message Me ssa ge Mes sag e Message Objet Objet Objet Objet Objet Machine n° 2 Machine n° 1 Support Java : Objets JM Angeli 2010 7/18 Support Java Message : support de l’interaction des objets ¾Destinataire du message. ¾Nom de la méthode à exécuter. ¾Paramètres demandés par la méthode. Avantages : Manipulation uniquement par appel aux méthodes. Objets pas nécessairement sur même machine (ou processus). Support Java : Objets JM Angeli 2010 8/18 4 Support Java Java langage objet : Tout (presque !) est objet. Un programme est un ensemble d’objets échangeant des messages. Chaque objet à son propre espace mémoire composé d’autres objets. Chaque objet est de type précis : il est instance d’une classe. Tous les objets d’un type particulier peuvent recevoir le même message. Support Java : Objets 9/18 JM Angeli 2010 Support Java Classe : Modèle (Usine – Moule – Prototype) à objet : défini les variables, méthodes commune à ses objets. 1→ Déclaration Mémoire 3→ Initialisation class Objet 2→ Instanciation : new Support Java : Objets JM Angeli 2010 10/18 5 Support Java 1 → Déclaration : Bavard UnObjet ; Compilateur L’identifiant UnObjet fait référence à un objet de la classe : Bavard Support Java : Objets 11/18 JM Angeli 2010 Support Java 2 → Instanciation : new Bavard() ; Compilateur new création de l’objet : Réservation de la place mémoire Support Java : Objets JM Angeli 2010 12/18 6 Support Java 3 → Initialisation : UnObjet.intValeur = 5 ; Compilateur La valeur 5 est affectée au membre intValeur de UnObjet Support Java : Objets 13/18 JM Angeli 2010 Support Java Obtenir un objet : 1→ Déclarer une variable référence : Bavard UnObjet ; 2→ Créer un objet (instancier la classe) : new Bavard() ; 1+2→ Déclarer et Associer l’objet à sa référence Bavard UnObjet Support Java : Objets = JM Angeli 2010 new Bavard() ; 14/18 7 Support Java Création d’une classe : 1 seule classe publique La classe déclarée publique doit avoir exactement le même nom que le fichier. Mot clé class pour déclarer la classe // nom du fichier Bavard.java public class Bavard { // code de la classe = } Support Java : Objets 15/18 JM Angeli 2010 Support Java Méthodes et membres de classe : Masquage non respecté ! UnObjet.intValeur = 5 ; Détails de l’implémentation Support Java : Objets Attributs (Valeurs) Méthodes (Opérations) JM Angeli 2010 Interface Publique 16/18 8 Support Java Méthodes et membres de classe : Masquage respecté : Méthodes internes pour affecter les valeurs : UnObjet.setValeur(6) ; Détails de l’implémentation Attributs (Valeurs) Méthodes (Opérations) Support Java : Objets Interface Publique 17/18 JM Angeli 2010 Support Java Méthodes et membres de classe : Masquage respecté : Méthodes internes pour récupérer les valeurs : Resultat = UnObjet.getValeur() ; Détails de l’implémentation Support Java : Objets Attributs (Valeurs) Méthodes (Opérations) JM Angeli 2010 Interface Publique 18/18 9