Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Encapsulation dans Java OOPs avec exemple


Qu'est-ce que l'encapsulation en Java ?

Encapsulation en Java est un mécanisme pour regrouper les variables (données) et les méthodes (code) en une seule unité. C'est le processus de masquage des détails de l'information et de protection des données et du comportement de l'objet. C'est l'un des quatre concepts importants de la POO. La classe encapsulate est facile à tester, elle est donc également meilleure pour les tests unitaires.

Dans ce tutoriel, vous apprendrez-

Cliquez ici si la vidéo n'est pas accessible

Apprendre l'encapsulation avec un exemple

Pour comprendre en détail ce qu'est l'encapsulation, considérez la classe de compte bancaire suivante avec les méthodes de dépôt et d'affichage du solde

class Account {
    private int account_number;
    private int account_balance;

    public void show Data() {
        //code to show data 
    }

    public void deposit(int a) {
        if (a < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

Supposons qu'un pirate réussisse à accéder au code de votre compte bancaire. Maintenant, il essaie de déposer le montant -100 sur votre compte de deux manières. Voyons sa première méthode ou approche.

Approche 1 : Il essaie de déposer un montant invalide (disons -100) sur votre compte bancaire en manipulant le code.

Maintenant, la question est :Est-ce possible ? Laissez enquêter.

Habituellement, une variable dans une classe est définie comme "privée", comme indiqué ci-dessous. Il n'est accessible qu'avec les méthodes définies dans la classe. Aucune autre classe ou objet ne peut y accéder.

Si un membre de données est privé, cela signifie qu'il n'est accessible qu'au sein de la même classe. Aucune classe extérieure ne peut accéder aux données privées membres ou variables d'une autre classe.

Donc, dans notre cas, le pirate ne peut pas déposer le montant -100 sur votre compte.

Approche 2 :La première approche du pirate n'a pas réussi à déposer le montant. Ensuite, il essaie de déposer un montant -100 en utilisant la méthode de "dépôt".

Mais l'implémentation de la méthode a une vérification des valeurs négatives. La deuxième approche échoue donc également.

Ainsi, vous n'exposez jamais vos données à une partie externe. Ce qui sécurise votre application.

Le code entier peut être considéré comme une capsule, et vous ne pouvez communiquer qu'à travers les messages. D'où le nom d'encapsulation.

Masquage des données dans Java

Masquage des données dans Java cache les variables d'une classe aux autres classes. Il n'est accessible que par la méthode de leur classe actuelle. Il cache les détails de mise en œuvre aux utilisateurs. Mais plus que le masquage de données, il est destiné à une meilleure gestion ou regroupement de données connexes.

Pour obtenir un moindre degré d'encapsulation en Java, vous pouvez utiliser des modificateurs tels que "protected" ou "public". Avec l'encapsulation, les développeurs peuvent facilement modifier une partie du code sans affecter l'autre.

Getter et Setter en Java

Getter et Setter en Java sont deux méthodes conventionnelles utilisées pour récupérer et mettre à jour les valeurs d'une variable. Ils sont principalement utilisés pour créer, modifier, supprimer et visualiser les valeurs des variables. La méthode setter est utilisée pour mettre à jour les valeurs et la méthode getter est utilisée pour lire ou récupérer les valeurs. Ils sont également connus comme un accesseur et un mutateur.

Le code suivant est un exemple de méthodes getter et setter :

class Account{ 
private int account_number;
private int account_balance; 
    // getter method
	public int getBalance() {
        return this.account_balance;
    }
    // setter method
	public void setNumber(int num) {
        this.account_number = num;
    }
}

Dans l'exemple ci-dessus, la méthode getBalance() est une méthode getter qui lit la valeur de la variable account_balance et la méthode setNumber() est une méthode setter qui définit ou met à jour la valeur de la variable account_number.


Abstraction vs Encapsulation

Souvent, l'encapsulation est mal comprise avec l'abstraction. Étudions-

Un exemple simple pour comprendre cette différence est un téléphone mobile. Où la logique complexe du circuit imprimé est encapsulée dans un écran tactile et l'interface est fournie pour l'abstraire.

Avantages de l'encapsulation en Java


Java

  1. Encapsulation Java
  2. Casting de type Java
  3. Méthode String Length () en Java:comment trouver avec l'exemple
  4. Méthode Java String charAt() avec exemple
  5. Méthode Java String contains() | Vérifier la sous-chaîne avec l'exemple
  6. Méthode Java String endsWith () avec exemple
  7. Java BufferedReader :comment lire un fichier en Java avec un exemple
  8. Algorithme de tri par insertion en Java avec exemple de programme
  9. Tri de sélection dans le programme Java avec exemple