66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Introspection et Réflexion Manipulation dynamique de code Java.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la programmation objet Langage Java
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
(Classes prédéfinies – API Java)
Programmation Objet en JAVA Mise à Niveau
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Programmation Orientée Objet (POO)
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction à la POO: Les classes vs les objets
Principes de programmation (suite)
Pattern État PowerPoint 2003, télécharger la visionneuse PowerPoint Viewer dernière édition si vous ne lavez pas…télécharger la visionneuse PowerPoint.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
88 Utilisation des arrays, des chaînes et des classes conteneurs.
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
POO : Objets et classes (Rappels)
Langage Oriente Objet Cours 2.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000
Introduction à la programmation objet Langage Java
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Introduction au paradigme orienté-objet (suite)
Programmation concurrente
POO-L3 H. Fauconnier1 Supplément gratuit…. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double.
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Types de données abstrait et mécanismes d'encapsulation
Chapitre III Héritage. POO-L3 H. Fauconnier2 Chapitre III: Héritage A) Extensions généralités Affectation et transtypage B) Méthodes Surcharge et signature.
Cours 4 Héritage (suite).
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Objectifs À la fin de ce cours, vous serez capables de :
Ch. PAUL - Piles et Files à l'aide de listes chainées
4 Introduction des objets. Les chaînes et tableaux
LES PILES ET FILES.
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
Créer des packages.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Réaliser par: Sadok Amel Cheboui hassiba
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Chapitre VII Techniques plus avancées à travers le concept de classe.
Héritage Conception par Objet et programmation Java
Généricité.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
LES CLASSES ET LES OBJETS
Transcription de la présentation:

66 Utilisation des classes et des objets

6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser les packages pour regrouper les classes connexes Définir les variables et les méthodes dinstance Créer des objets et des appels de méthode Utiliser les mots-clés public, private et protected A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser les packages pour regrouper les classes connexes Définir les variables et les méthodes dinstance Créer des objets et des appels de méthode Utiliser les mots-clés public, private et protected

6-3 Vue densemble Les classes définissent les caractéristiques, les attributs et le comportement des objets. Lintégralité du code Java est contenue dans des classes. Toutes les données relatives à un objet sont stockées dans des variables. Les packages permettent un contrôle des accès. Les assistants Eclipse contribuent à la création des définitions de classe. Les classes définissent les caractéristiques, les attributs et le comportement des objets. Lintégralité du code Java est contenue dans des classes. Toutes les données relatives à un objet sont stockées dans des variables. Les packages permettent un contrôle des accès. Les assistants Eclipse contribuent à la création des définitions de classe.

6-4 Classes Java Package MéthodesObjets Références dobjet Attributs

6-5 Packages AcmeVideo CopyTitleRental GameMemberMovie

6-6 Modificateurs daccès AcmeVideo AcmeTools private protected public

6-7 Etude de la nouvelle classe Nom du package PublicPublic main()main() ConstructeurConstructeur Commentaires den-tête

6-8 Classes et objets Chaque objet est une instance dune classe donnée. Chaque objet est une instance dune classe donnée. public void displayDetails() private String title; private String rating; public void setRating() title: Gone with… rating: PG title: Last Action… rating: PG-13 Movie

6-9 Création dobjets Les objets sont créés au moyen de lopérateur new : Par exemple, pour créer deux objets Movie : Les objets sont créés au moyen de lopérateur new : Par exemple, pour créer deux objets Movie : Movie mov1 = new Movie("Gone..."); Movie mov2 = new Movie("Last..."); objectRef = new ClassName(); title: Gone with… rating: PG title: Last Action… rating: PG-13

6-10 Lopérateur new de plus près Lopérateur new effectue les actions suivantes : Allocation de mémoire pour le nouvel objet Appel dune méthode dinitialisation spéciale dans la classe, appelée constructeur Renvoi dune référence pour le nouvel objet Lopérateur new effectue les actions suivantes : Allocation de mémoire pour le nouvel objet Appel dune méthode dinitialisation spéciale dans la classe, appelée constructeur Renvoi dune référence pour le nouvel objet Movie mov1 = new Movie( "Gone..." ); title: Gone... rating: PG mov1

6-11 Primitives et objets Les variables primitives contiennent une valeur. Les variables primitives contiennent une valeur. int i; int j = 3; Movie mov1 = new Movie(); Les variables dobjet contiennent des références. title: null rating: null mov1 null Movie mov1; mov1 0 3 i j

6-12 La référence null Les références dobjet sont null tant quelles nont pas été initialisées. Il est possible de comparer les références dobjet à null. On peut oublier un objet en lui attribuant la référence null. Les références dobjet sont null tant quelles nont pas été initialisées. Il est possible de comparer les références dobjet à null. On peut oublier un objet en lui attribuant la référence null. Movie mov1 = null; //Declare object reference … if (mov1 == null) //Ref not initialized? mov1 = new Movie(); //Create a Movie object … mov1 = null; //Forget the Movie object

6-13 Affectation de références En affectant une référence à une autre, on obtient deux références au même objet : En affectant une référence à une autre, on obtient deux références au même objet : Movie mov1 = new Movie("Gone..."); mov1 Movie mov2 = mov1; mov2 title: Gone... rating: PG

6-14 Variables dinstance Les variables dinstance sont déclarées dans la classe : public class Movie { public String title; public String rating; … } Movie mov1 = new Movie(); Movie mov2 = new Movie(); title: null rating: null mov2 title: null rating: null mov1 Création de movies :

6-15 Accès aux variables dinstance Les variables dinstance publiques sont accessibles à laide de lopérateur point "." : public class Movie { public String title; public String rating; … } Movie mov1 = new Movie(); mov1.title = "Gone..."; … if ( mov1.title.equals("Gone... ") ) mov1.rating = "PG"; Voulez-vous vraiment faire cela ?

6-16 Exercice pratique : Création et utilisation dobjets public class MovieTest { public static void main(String[] args) { Movie mov1, mov2; mov1.title = "Gone with the Wind"; mov2 = mov1; mov2.title = "Last Action Hero"; System.out.println("Movie 1 is " + ); System.out.println("Movie 2 is " + ); } public class Movie { public String title; }

6-17 Méthodes Une méthode est équivalente à une fonction ou à un sous-programme dans les autres langages : Une méthode ne peut être définie que dans le cadre de la définition dune classe. Une méthode est équivalente à une fonction ou à un sous-programme dans les autres langages : Une méthode ne peut être définie que dans le cadre de la définition dune classe. modifier returnType methodName (argumentList) { // method body … }

6-18 Spécifiez le nombre et le type de clauses dans la définition de la méthode : Si la méthode ne comporte aucune clause, laissez les parenthèses vides : Spécifiez le nombre et le type de clauses dans la définition de la méthode : Si la méthode ne comporte aucune clause, laissez les parenthèses vides : Spécification des clauses de méthode : Exemples public void displayDetails() { System.out.println("Title is " + title); System.out.println("Rating is " + rating); } public void setRating(String newRating) { rating = newRating; }

6-19 Renvoi dune valeur depuis une méthode Utilisez linstruction return pour quitter une méthode et retourner une valeur issue dune méthode : Linstruction return nest pas nécessaire si la méthode retourne void. Utilisez linstruction return pour quitter une méthode et retourner une valeur issue dune méthode : Linstruction return nest pas nécessaire si la méthode retourne void. public class Movie { private String rating; … public String getRating () { return rating; }

6-20 Appel de méthodes dinstance public class Movie { private String title, rating; public String getRating(){ return rating; } public void setRating(String newRating){ rating = newRating; } Movie mov1 = new Movie(); … if (mov1.getRating().equals("G")) … Utilisez lopérateur "." :

6-21 Encapsulation Les variables dinstance doivent être déclarées comme private. Seules les méthodes dinstance peuvent accéder aux variables dinstance private. private dissocie linterface de la classe de son opération interne. Les variables dinstance doivent être déclarées comme private. Seules les méthodes dinstance peuvent accéder aux variables dinstance private. private dissocie linterface de la classe de son opération interne. Movie mov1 = new Movie(); … if ( mov1.rating.equals("PG") ) // Error mov1.setRating("PG"); // OK

6-22 Passage de primitives aux méthodes Lorsquune valeur de type primitif est passée à une méthode, une copie de la valeur est générée : Lorsquune valeur de type primitif est passée à une méthode, une copie de la valeur est générée : public void aMethod(int arg) { if (arg 100) arg = 0; System.out.println("arg: " + arg); } int num = 150; anObj.aMethod(num); System.out.println("num: " + num); num 150 arg 150

6-23 Passage de références dobjet aux méthodes Lorsquune référence dobjet est passée à une méthode, la clause fait référence à lobjet dorigine : Lorsquune référence dobjet est passée à une méthode, la clause fait référence à lobjet dorigine : public void aMethod(Movie ref2) { ref2.setRating("R"); } title: "Gone…" rating: "R" mov1 ref2 Movie mov1 = new Movie("Gone…"); mov1.setRating("PG"); anObj.aMethod(mov1);

6-24 Résumé Au cours de cette leçon, vous devriez avoir retenu que : Une définition de classe spécifie un modèle pour la création dobjets ayant des caractéristiques identiques, telles que des variables et des méthodes dinstance. Un objet est une instance dune classe donnée : –Créez un objet à laide de new. –Manipulez un objet en utilisant ses méthodes dinstance public. Au cours de cette leçon, vous devriez avoir retenu que : Une définition de classe spécifie un modèle pour la création dobjets ayant des caractéristiques identiques, telles que des variables et des méthodes dinstance. Un objet est une instance dune classe donnée : –Créez un objet à laide de new. –Manipulez un objet en utilisant ses méthodes dinstance public.