Cours N°4 Mohamed El Hacen Mohamed Dyla [email protected] Institut professionnel universitaire 1 Menu ◦ package ◦ modificateurs de visibilité Organisation des classes en packages un certain nombre de classes peut être regroupés en packages chaque package peut contenir d’autres packages chaque package correspond à un répertoire dans le projet les packages forment une arborescence par défaut, toutes les classes appartiennent à Default Package arborescence des packages exemple Default Package package1 classe1.java package3 package2 package4 classe5.java classe2.java classe3.java classe4.java référence aux classes des autres packages Deux possibilités : opérateur point: package1.package2 instruction import au début du fichier: import package1.package2 toutes les propriétés et les méthodes de cette classe peuvent être référencées directement exemple: java.lang.Math.sin est une méthode de la classe Math du package java.lang la notion de visibilité propriété : une propriété est dite visible par une classe si les méthodes de cette classe peuvent avoir accès à sa valeur et peuvent la modifier. méthode : une méthode est dite visible par une classe si les méthodes de cette classe peuvent l’appeler. visibilité des propriétés et des méthodes public : visible de partout (à partir des autres classes des autres packages également) protected : (protégé) visible uniquement à partir des classes du même package private : (privé) visible uniquement dans la classe important Une classe ne peut pas être privée private class toto {} Une classe ne peut pas être protégée protected class toto {} Comment rendre accessible une propriété privée? Même si une propriété est privée, on peut y accéder à l’aide des méthodes publiques ou protégées. Ces méthodes peuvent être accessible par une autre classe. Ces méthodes servent comme une interface entre les propriétés privées et des classes extérieures. Ces méthodes peuvent réaliser le contrôle d’accès et la validité des valeurs, donc la protection des données. Les méthodes d’accès à une propriété privée - exemple public class Cercle { Vers l’extérieure private double rayon; // méthode constructrice public Cercle (double r) { rayon = r; getRayon setRayon } // méthodes d'accèes public double getRayon() { rayon return rayon; } public int setRayon( double r) { Classe Cercle if ( r>0 ) { rayon = r; Accès à la return 0; valeur } modifier la valeur else return -1; La méthode permet d’assurer la } validité de la valeur en cas de } modification extérieure.