Les 4 modificateurs d’accès expliqués en Java
Les modificateurs d'accès sont des mots-clés placés avant les attributs, les méthodes ou les classes pour gérer leur accès. Ils restreignent les méthodes, classes ou packages pouvant utiliser les données modifiées.
Les modificateurs d'accès sont également parfois appelés modificateurs de visibilité. C'est une façon intuitive de dire qu'ils décrivent la visibilité de certaines parties d'un programme pour d'autres composants qui peuvent souhaiter y accéder.
Les modificateurs de visibilité vous permettent de limiter la façon dont les programmeurs accèdent à des classes données. Cela répond en fait à un principe clé de la programmation orientée objet : l'encapsulation.
Voici les quatre modificateurs d'accès utilisés en Java :
Défaut
Lorsque vous ne définissez pas explicitement un modificateur, le compilateur Java utilisera l'accès de visibilité par défaut. A ce niveau d'accès, seules les classes du même package que la classe définie peuvent accéder à ses variables ou méthodes.
Le modificateur par défaut s'applique également aux classes, pas seulement à ses membres. Il donne les mêmes restrictions de visibilité aux classes qu'à ses membres.
Le modificateur par défaut est également appelé package-private.
Pour utiliser le modificateur d'accès par défaut, définissez simplement les membres de votre classe sans aucun modificateur :
class Person{
int age;
String name;
int jump(){}
}
Modificateur public
Ce modificateur permet d'accéder aux membres d'une classe dans tous les packages. En termes simples, vous pouvez y accéder partout. Le modificateur public fournit le niveau d'accès le moins restrictif.
Il est également important de noter que le modificateur public peut également être utilisé avec des classes.
Préfixez simplement la classe ou son membre avec public afin de lui donner une visibilité publique. Voir l'exemple ci-dessous :
public class Person{
public int age;
public String name;
public int jump(){}
}
Modificateur protégé
Ce modificateur permet d'accéder aux membres d'une classe au sein de la classe et de ses sous-classes. Il peut fournir un accès en dehors d'un package, mais uniquement par héritage. Contrairement aux deux modificateurs précédents, protected ne peut être utilisé qu'avec les membres d'une classe, pas la classe elle-même.
Voir le code ci-dessous pour savoir comment l'utiliser :
class Person{
protected int age;
protected String name;
protected int jump(){}
}
Modificateur privé
Ce modificateur permet d'accéder aux membres d'une classe uniquement au sein de la classe. Tout comme protected, private ne s'applique qu'aux membres d'une classe.
Privé est le niveau d'accès le plus strict et ne doit être utilisé que si vous êtes complètement sûr de ne pas vouloir que les membres de votre classe soient utilisés par d'autres classes. Par exemple, vous obtiendrez une erreur de compilation si vous essayez d'accéder à un constructeur avec un modificateur privé.
Comme pour public et private , ajoutez simplement le mot-clé private pour utiliser ce modificateur.
class Person{
private int age;
private String name;
private int jump (){}
}
Plus de considérations Java
À ce stade, il est important de se demander comment vous géreriez ces modificateurs de visibilité en ce qui concerne la substitution de méthode. La réponse est de maintenir un niveau de visibilité qui est soit au même niveau que celui défini par la super classe, soit supérieur.
Par exemple, si la classe parent a protected , vous ne pouvez pas utiliser les modificateurs par défaut ou private dans la sous-classe de substitution.
Le tableau ci-dessous résume les niveaux d'accès de chaque modificateur de visibilité. Vous pouvez l'utiliser pour ancrer vos connaissances sur les modificateurs d'accès.
A partir du tableau, il est intéressant de noter que les membres d'une classe sont toujours accessibles au sein d'une classe. Le reste des colonnes montre ce que vous avez déjà lu ci-dessus.
Il est important de noter que vous pouvez utiliser un mélange de ces modificateurs d'accès au sein d'une classe. Ce qui détermine la façon dont vous choisissez celui à utiliser, c'est le degré d'accessibilité que vous souhaitez qu'une certaine partie du code soit.
Votre processus de choix devrait être un passage progressif du plus restrictif au moins restrictif.
Java est assez soigné seul, mais lorsqu'il est associé à MySQL ? Les possibilités ne sont limitées que par votre propre créativité.