Cours N°4 Mohamed El Hacen Mohamed Dyla 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 package1package2 classe1.java package3package4 classe2.javaclasse3.javaclasse4.java classe5.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 { private double rayon; // méthode constructrice public Cercle (double r) { rayon = r; } // méthodes d'accèes public double getRayon() { return rayon; } public int setRayon( double r) { if ( r>0 ) { rayon = r; return 0; } else return -1; } Classe Cercle rayon getRayonsetRayon Vers l’extérieure Accès à la valeur modifier la valeur La méthode permet d’assurer la validité de la valeur en cas de modification extérieure.