Chapitre 3_ Classe et Objet Partie 2.pptx
Document Details
Uploaded by AgileSimile1911
ESPRIT
Tags
Full Transcript
Conception Orienté Objet et Programmation Java Chapitre 3: Classe et Objet (partie 2) Objectifs du chapitre Manipuler des tableaux Créer des associations entre les classes Découvrir les mot clés static et final 2 Manipulatio...
Conception Orienté Objet et Programmation Java Chapitre 3: Classe et Objet (partie 2) Objectifs du chapitre Manipuler des tableaux Créer des associations entre les classes Découvrir les mot clés static et final 2 Manipulation des tableaux Les tableaux en Java sont des structures de données qui permettent de stocker des ensembles d'éléments de même type (type primitifs ou classe). Pour créer un tableau, vous utilisez "new" suivie du type de données et de la taille du tableau entre crochets: int[] tab = new int; NB: Les tableaux en Java ont une taille fixe une fois créés, il est donc important de définir une taille suffisante pour éviter des erreurs de débordement de tableau. 3 Manipulation des tableaux Vous pouvez également initialiser un tableau en utilisant une liste de valeurs entre accolades lors de la déclaration. int[] tab = {1,2,3}; Les éléments d’un tableau sont indexés à partir de 0 On peut accéder à la taille du tableau avec tab.length ⇒ un tableau possède des éléments allant de 0 à tab.length-1 4 Manipulation des tableaux On peut accéder à un élément avec tab[indice] : Exemple : System.out.println(tab); //afficher la première case du tableau int[] tab; valeur -> 1 2 0 0 1 2 tab = new int; // spécifier la taille du tableau indice -> tab = 1; // initialiser le premier élément tab.length=3 tab = 2; // initialiser le second élément 5 Manipulation des tableaux Un tableau contenant des éléments de type objet String[] animaux={‘’chat’’,’’poisson’’,”oiseau”}; Ou String[] animaux= new String; animaux=new String("chat"); animaux="poisson"; animaux=new String("oiseau"); 6 Manipulation des tableaux Pour parcourir un tableau, on utilise: La boucle for La boucle for simplifié (for-each) for(int i = 0; i < tab.length; i++){ for(int i : tab){ System.out.println(tab[i]); System.out.println(i); } } Accès par indice Accès par élément 7 Les associations entre les classes Une association est une relation entre deux classes (association binaire) ou plus (association n‑aire), qui décrit les connexions structurelles entre leurs instances. Une association indique donc qu'il peut y avoir des liens entre des instances des classes associées. Il y a plusieurs type d’associations qu’on peut représenter: Association one-to-one Association one-to-many 8 Association one-to-one unidirectionnelle Developer Project 1 1 Mapping en java class Project{ class Developer{ private Developer developer; } } 9 Association one-to-many unidirectionnelle Developer Project * 1 Mapping en java class Project{ class Developer{ private Developer[] developers; } } 10 Association one-to-one bidirectionnelle Developer Project 1 1 Mapping en java class Project{ class Developer{ private Developer developer; private Project project; } } 11 Association one-to-many bidirectionnelle Developer Project * 1 Mapping en java class Project{ class Developer{ private Developer[] private Project project; developers; } } 12 Le mot clé Static Le mot clé static est un modificateur de comportement, qui peut être appliqué sur une variable ou bien une méthode. Un attribut/variable ou une méthode statique est dit attribut de classe ou méthode de classe. Une variable statique ou une méthode statique est partagée par toutes les instances de la classe. 13 Le mot clé Static (exemples) class Project{ class Test{ String name; public static void main(String[] args){ static int numberOfTasks; Project p1 = new Project(“Project 1”); Project p2 = new Project(“Project 2”); Project(String name){ System.out.println(p1.numberOfTasks); This.name = name; System.out.println(p2.numberOfTasks); numberOfTasks++; } } } } Console : 2 name: Project 1 name: Project 2 P1 P2 2 numberOfTasks: 1 numberOfTasks: 2 14 Le mot clé Static (exemple) class Project{ class Test{ public static void main(String[] args){ String name; static int numberOfTasks; Project p1 = new Project(“Project 1”); Project p2 = new Project(“Project 2”); public static void addTask(){ numberOfTasks++; p1.addTask(); } System.out.println(p2.numberOfTasks); } } } Console : 1 15 Le mot clé Static Le mot clé static permet d’utiliser une méthode/ un class Test{ public static void main(String[] args){ attribut statique sans avoir à instancier la classe qui la Project.numberOfTasks = 4; contient. Project.addTask(); ⇒ L'appel à une méthode/ un System.out.println(Project.numberOfTasks); } attribut statique se fait alors } en utilisant le nom de la Console : classe, plutôt que le nom de 5 l'objet. 16 Le mot clé static Les variables statiques sont accessibles dans tous les types de méthodes : statiques ou non statiques. Nous ne pouvons pas accéder aux variables non statiques dans les méthodes statiques, car les variables non statiques ne sont accessibles qu'en créant une instance de la classe. 17 Le mot clé final Lorsqu'une variable est déclarée comme final, cela signifie qu'elle ne peut être affectée qu'une seule fois, et son contenu ne peut pas être modifié par la suite. Ex: final int x = 10; x = 20; // Cela générera une erreur, car x est une variable finale. public final float PI = 3.14; ⇒ Une variable finale est une constante. 18 static final Comme la valeur de la variable finale ne peut être modifiée, il est inutile de conserver une copie de la variable pour chaque instance de la classe dans laquelle elle est déclarée. ⇒ La variable est donc associée à la classe et partagée entre toutes les instances. class Project{ class Project{ String name; String name; final int numberOfTasks = 4; static final int numberOfTasks } = 4; } Constante d’instance Constante de classe 19 Le mot clé final Lorsqu'une méthode est déclarée comme final, cela signifie que son contenu ne sera pas modifié par d’autres objets (classes filles). ⇒ Une méthode finale ne peut pas être redéfinie. Ex: class Project{ public final void printName(){ System.out.println(“Test”); } } 20 Le mot clé final Une classe est déclarée comme final, ne peut pas être étendue/héritée. Ex: final class Project{ } 21 Merci pour votre attention 22