Qu'est-ce qui est protégé en Java et comment l'implémenter?

Cet article sur Protected in Java vous aidera à comprendre ce qu'est un mot-clé protégé et comment il peut vous aider à encapsuler votre code et à empêcher son utilisation abusive.

Java fournit un ensemble de mots-clés appelés Modificateurs d'accès ce qui nous aide à définir la visibilité d'une classe,interface, variable, membre de données, méthode, constructeur, etc. Il existe 4 types de modificateurs d'accès, par défaut, public, privé et protégé, qui sont pris en charge dans . Dans cet article, je me concentrerai uniquement sur la protection en Java et je vous aiderai à en obtenir des informations claires.



Voici les sujets dont je vais parler dans cet article:



Qu'est-ce qui est protégé en Java?

Comme mentionné précédemment, protected en Java est un modificateur d'accès qui aide un programmeur à attribuer la visibilité d'une classe, de ses membres, les interfaces , etc. Lorsque les membres de classe sont déclarés comme protégés en Java, ils sontaccessible uniquement dans le même paquet ainsi qu'aux sous-classes directes de la classe de base. Lorsque vous utilisez un mot-clé protected en Java, vous devez garder à l'esprit que seuls les membres de la classe peuvent être déclarés comme protégés. Les classes et les interfaces ne peuvent pas être déclarées comme protégées en Java.

Vous vous demandez peut-être pourquoi les classes et les interfaces ne peuvent pas être protégées?



Eh bien, si vous pensez logiquement, la réponse devient assez claire. Si une classe est rendue protégée, elle ne sera visible que par les classes présentes dans le même package. Maintenant, comme je l'ai déjà mentionné, lorsque quelque chose est protégé en Java, il est également visible pour ses sous-classes.

java comment cloner un objet

Mais, voici une ambiguïté. Pour que d'autres classes étendent une classe protégée, la classe parente doit être visible. Comment allez-vous étendre quelque chose qui n'est pas visible en premier lieu? Ainsi, cela provoque une ambiguïté et la création de classes protégées n'est pas autorisée dans .

Voyons maintenant pourquoi les interfaces ne peuvent pas être protégées. Eh bien, en Java, les éléments sont généralement protégés afin que leurs implémentations puissent être partagées entre autres. Mais dans le cas de les interfaces , ils n'ont pas de mise en œuvre, il est donc inutile de les partager. Ainsi, toutes les méthodes présentes dans les interfaces doivent être publiques afin que n'importe quelle classe ou struts puisse facilement les implémenter.



Ainsi, vous ne peut déclarer que le et les données membres comme protégées en Java et non le Des classes ou interfaces. Cela aide à encapsuler le code en limitant l'accessibilité aux membres de la classe. Cela aide également à prévenir l'utilisation abusive des données.

Mise en œuvre protégée

Essayons maintenant de mettre en œuvre ce que nous avons appris jusqu'à présent. Donc, ici, je vais créer deux classes, chacune appartenant à un package séparé.

EduProtected.java dans le package edu1

package edu1 classe publique EduProtected {message void protégé (String disp) {System.out.println ('Package 1 message reçu:' + disp)}}

EduSubClass.java dans le package edu2

package edu2 import edu1.EduProtected classe publique EduSubClass étend EduProtected {public static void main (String [] args) {EduProtected show = new EduProtected () // invoque message () de la classe EduProtected show.message ('Hello from package2 subclass') }}

Production:

Message du package 1 reçu: Bonjour de la sous-classe package2

sel vs chef vs marionnette

Cela nous amène à la fin de cet article.Si vous souhaitez en savoir plus sur Java, vous pouvez consulter notre .

Maintenant que vous avez compris ce qui est protégé en Java, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article et nous vous répondrons dans les plus brefs délais.