"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Modificateurs d'accès au langage Java

Modificateurs d'accès au langage Java

Publié le 2024-09-01
Parcourir:362

Modificadores de acesso da linguagem Java

Types de modificateurs :

  • public : Permet l'accès aux membres d'une classe par n'importe quel code de programme, y compris les méthodes d'autres classes.
  • private : Restreint l'accès des membres au sein de la classe elle-même, empêchant les méthodes d'autres classes d'y accéder directement.
  • protected : Utilisé en héritage, sera abordé au chapitre 8.
  • Accès par défaut : Si aucun modificateur n'est utilisé, l'accès est le même que public, sauf dans les cas impliquant des packages.

Exemples de modificateurs :
Exemples d'utilisation de public et private dans les déclarations de membres :

  • chaîne publique errMsg;
  • compte privéSolde solde;
  • isError booléen privé (état de l'octet) { // ... }

Démonstration pratique :
Contrôle d'accès dans une classe :

  • Les membres privés, tels que alpha dans MyClass, ne sont accessibles que par les méthodes de la classe elle-même.
  • Accès aux membres privés par des méthodes publiques via des méthodes d'accès (getAlpha() et setAlpha()).
  • Les tentatives d'accès direct aux membres privés d'une autre classe entraîneront une erreur de compilation.
class MyClass {
    private int alpha; // acesso privado
    public int beta;   // acesso público
    int gamma;         // acesso padrão (equivalente a public neste contexto)

    // Métodos para acessar alpha
    void setAlpha(int a) {
        alpha = a;
    }

    int getAlpha() {
        return alpha;
    }
}

Exemple d'utilisation : classe AccessDemo.java

Résultat:

  • L'accès au membre privé alpha ne peut être effectué que via les méthodes publiques setAlpha() et getAlpha().
  • L'accès direct à alpha en dehors de la classe MyClass est interdit, ce qui entraîne une erreur de compilation.

Exemple : FailSoftArray :

  • Implémente un tableau « résistant aux pannes », où le tableau est encapsulé en tant que membre privé, accessible uniquement par des méthodes publiques.
  • Encapsulation : Protège la baie contre les accès hors limites, empêchant ainsi les exceptions d'exécution.
  • Membres privés : a, errval et indexOK() sont privés, protégeant l'intégrité du tableau.
  • Membre public : la longueur est publique, ce qui permet d'interroger la taille du tableau, similaire à l'implémentation de tableaux standard en Java.
  • Méthodes publiques : put() et get() sont utilisés pour stocker et récupérer les valeurs du tableau, contrôlant l'accès en toute sécurité.

Conclusion:
Le contrôle d'accès est essentiel au succès de la programmation orientée objet, en particulier lorsqu'il s'agit de gérer l'héritage et de garantir l'intégrité des données.

Résultat:
Le tableau « résistant aux pannes » empêche les erreurs d'exécution lors de la tentative d'accès aux index hors limites.
L'accès aux éléments du tableau se fait en toute sécurité via les méthodes publiques get() et put(), avec vérification des limites.
Le programme affiche les échecs silencieux, puis gère les échecs explicitement, indiquant quand les index sont hors limites.
Ces exemples illustrent comment les modificateurs d'accès Java (accès public, privé et par défaut) sont appliqués pour contrôler l'accès aux membres d'une classe et garantir l'intégrité et la sécurité des données.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/devsjavagirls/modificadores-de-acesso-da-linguagem-java-41?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3