«Le contrôle du privilège Java est accompli par le modificateur d'accès. Les trois modificateurs d'accès offerts par Java sont publics, protégés et privés. Nous irons avec le modificateur d'accès protégé, qui est limité au niveau des membres. Le mot-clé protégé varie du mot-clé privé d'une manière qu'il facilite l'accès aux sous-classes d'autres packages ainsi qu'en dehors des cours mais sous la forme d'héritage. Le mot-clé protégé ne peut pas être désigné aux classes extérieures et aux interfaces. Les utilisateurs ne peuvent pas créer une instance de classe en dehors du package car les fonctions sont sécurisées avec le mot-clé protégé."
Exemple 1
Le mot-clé protégé est utilisé avant de déclarer un attribut particulier. Voyons le programme pour savoir si les attributs protégés sont accessibles en Java.
Nous avons construit une classe simple appelée «Employee» dans le script. Ensuite, nous avons déclaré les attributs «Empname», «Empemail» et «Empage» de la classe en utilisant le modificateur protégé. Maintenant, nous avons protégé ces variables dans la classe. Ensuite, nous avons créé la sous-classe «ProtectedCase1» de la classe «Employé» en utilisant le mot-clé. Ici, nous avons généré l'attribut privé dans la méthode principale (), ce qui signifie que seule cette classe peut y accéder.
Ensuite, nous avons défini l'objet «Empobj» de la classe «ProtectedCase1». Nous avons accédé à chaque attribut protégé de la classe «employé» avec l'objet «Empobj» dans le «système.dehors.Fonction println () ”pour imprimer les valeurs. De plus, nous avons imprimé la valeur d'attribut privé ici.
La sortie a prouvé que les valeurs d'attribut protégées de la superclasse sont accessibles dans la sous-classe.
Exemple 2
Nous avons vu l'accessibilité du mot-clé protégé dans les programmes Java ci-dessus. Ici, nous avons créé deux packages différents et accédé aux méthodes protégées.
Le programme est sauvé dans «l'animal.Fichier Java, qui est situé à l'intérieur du package «P1». Après cela, nous avons créé la classe «Animal», qui est également le nom du fichier Java. Grâce à l'utilisation du modificateur «protégé», nous avons construit la fonction «cat ()» et attribué le système.dehors.Méthode println () pour imprimer le message spécifié. Nous avons invoqué cette fonction protégée dans un autre package comme ci-dessous.
Nous avons construit un autre package et enregistré le fichier Java comme «ProtectedCase2» là-bas. Nous avons la définition de classe «ProtectedCase2» dans le fichier. Ici, nous avons une méthode principale () où l'objet de classe «ProtectedCase2» «P» a été déclaré, et avec cet objet, nous avons essayé d'accéder à la fonction protégée Cat () de la classe «Animal» situé dans le package «P1».
Une fois le programme exécuté, l'erreur de compilation s'est produite, comme dans l'écran ci-dessous. En conséquence, nous ne pouvons pas accéder à l'attribut protégé dans différents packages.
Exemple 3
L'approche suivante consiste à utiliser le mot-clé protégé pour l'attribut d'une classe et à appeler cet attribut dans une autre classe.
Nous avons établi une classe «StringClass», et le bloc de la classe est défini avec l'attribut de chaîne «Str», qui est protégé. L'attribut de chaîne protégé «Str» est initialisé avec le message de chaîne. Ensuite, nous avons créé une classe, «ProtectedCase3», avec le modificateur d'accès public et utilisé la méthode du programme Main (). La méthode main () est déclarée avec l'objet «S» de la classe «StringClass», et cet objet est appelé l'attribut protégé «Str» pour imprimer la valeur de chaîne dans le «système.dehors.Méthode print () ”.
Le message de chaîne de l'attribut protégé s'affiche ici. Par conséquent, les attributs protégés sont accessibles dans l'autre classe de Java.
Exemple 4
Le programme est déployé dans le même package et accède à la méthode protégée mais dans une autre classe du même package.
Nous avons un dossier appelé «étudiant.Java "où nous avons construit la classe" Student "et créé la méthode show () à l'intérieur.
Ensuite, nous avons créé un autre fichier, «ProtectedCase4», dans le même package, «P1», et appelé la fonction «Show ()», qui est protégée par l'objet «ST» de la classe «Étudiant».
La fonction protégée renvoie la sortie sous la forme de la chaîne, qui est appelée dans une autre classe du même package.
Exemple 5
La fonction protégée de la classe de base peut également être accessible en remplaçant la classe dérivée. Voyons la démonstration de cette déclaration ci-dessous.
Nous avons créé la Fonction View () avec le préfixe «protégé» dans la classe de base «MyMessage», où nous avons spécifié le message. Ce message sera affiché lorsque la fonction protégée est accessible. Après cela, nous avons établi une classe dérivée «ProtectedCase5» en étendant la classe de base «MyMessage». Là, nous avons à nouveau défini la fonction de vue () protégée et remplacé la déclaration imprimée de la précédente. Ensuite, nous avons une déclaration de l'objet de classe dérivé «OBJ», qui invoque la fonction «View ()».
La fonction protégée a été remplacée avec succès au moment de l'exécution, qui s'affiche sur l'invite.
Exemple 6
Comme les variables protégées de la classe parent peuvent être accessibles dans la classe infantile, que nous avons vue dans le programme susmentionné. Maintenant, nous avons attribué le modificateur protégé à la classe extérieure et essayé d'y accéder dans la méthode principale ().
Nous avons construit la classe «ProtectedCase2» avec le préfixe «protégé». La classe est protégée pour le fichier du programme Java. Dans la classe protégée «ProtectedCase2», nous avons déployé la fonction «print ()», qui contient le message d'impression. Après cela, nous avons une méthode principale () de la classe «ProtectedCase2». Ici, nous avons appelé la classe «ProtectedCase2» pour créer son objet, qui est déclaré «PC», où nous avons invoqué le constructeur de la classe «ProtectedCase2» avec le nouveau mot-clé. Ensuite, en utilisant l'objet «print ()», nous avons appelé la méthode «print ()» de la classe protégée.
La compilation du programme Java ci-dessus génère l'erreur que la classe protégée ne peut pas être autorisée ici.
Conclusion
Nous spécifions des mots clés protégés en fonction du type d'accès attendu au moment de la compilation. Le modificateur d'accès «protégé» est très efficace pour la fonction héritée qui utilise la même classe et les mêmes attributs. La classe parent et l'une de ses sous-classes d'enfants qui utilisent le mot-clé protégé ont toujours une relation parent-enfant. Nous avons vu divers cas de modificateur d'accès protégé, qui démontre son utilisation dans Java.