La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 66 Utilisation des classes et des objets

2 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

3 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.

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

5 6-5 Packages AcmeVideo CopyTitleRental GameMemberMovie

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

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

8 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

9 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

10 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

11 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

12 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

13 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

14 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 :

15 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 ?

16 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; }

17 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 … }

18 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; }

19 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; }

20 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 "." :

21 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

22 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

23 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);

24 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.


Télécharger ppt "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."

Présentations similaires


Annonces Google