Encapsulation et packaging de classe (JAVA)

Table des matières

encapsulation

Dans le même colis :

Sac

forfait personnalisé

Dans différents forfaits :


encapsulation

Tous les langages POO auront trois caractéristiques :

  1. encapsulation
  2. Héritage (cliquez pour sauter)
  3. Polymorphisme (cliquez pour sauter)

Cet article vous apportera des connaissances sur l’emballage.

Dans notre vie quotidienne, nous pouvons constater que le téléviseur n'a que quelques boutons (commutateurs, menus...) et quelques interfaces, et nous pouvons réaliser nos besoins à travers ces éléments sans entrer dans sa structure. Et certaines de ses structures internes (CPU, ...) Les fabricants utiliseront un shell pour les emballer afin de nous empêcher de voir directement le contenu à l'intérieur.

L'encapsulation dans le langage POO consiste à combiner organiquement des données et des méthodes de manipulation de données, à masquer les attributs et les détails d'implémentation des objets et à exposer uniquement les interfaces et les méthodes pour interagir avec les objets.

La question se pose alors : nous savons que nous pouvons utiliser l'opérateur '.' en dehors de la classe pour accéder à ses propriétés internes, alors comment doit-il masquer les propriétés et les détails d'implémentation ?

En Java, l'encapsulation est principalement réalisée via des classes et des droits d'accès : les classes peuvent combiner des données et des méthodes d'encapsulation de données, ce qui est plus conforme à la perception humaine des choses, et les droits d'accès sont utilisés pour contrôler si les méthodes ou les champs peuvent être directement en dehors du utilisation en classe.

portée privé

       défaut

(n'écris rien)

protégé publique
même classe dans le même package Peut Peut Peut Peut
différentes classes dans le même package Peut Peut Peut
sous-classes dans différents packages Peut Peut
Non-sous-classes dans différents packages Peut
  • public : cela peut être compris comme les caractéristiques de l'apparence d'une personne, qui peuvent être vues par n'importe qui ;
  • privé : vous seul le savez, les autres ne le savent pas 

À ce stade, nous pouvons empêcher l’accès des membres de la classe au monde extérieur via des qualificatifs d’accès.

Le tableau montre que leur portée concerne à la fois les packages et les classes, nous savons donc ce qu'est une classe et qu'est-ce qu'un package ? Pour le moment, vous pouvez ignorer l’introduction plus loin dans l’article.

Dans le même colis :

À ce stade, vous n'avez pas à vous soucier de la nature du package, car nous écrivons généralement du code dans le même package pendant la phase d'apprentissage.

 

À ce stade, nous pouvons voir que bien qu'il y ait un attribut name dans la classe, parce que son autorisation est privée, le système signalera une erreur lorsque nous y accéderons en dehors de la classe. L'autorisation d'âge est la valeur par défaut et est accessible par différentes classes dans le même package. 

Alors que devons-nous faire si nous voulons modifier le nom ? Parce qu'il est modifié par private et n'est accessible qu'aux membres de la classe, nous pouvons donc à ce moment écrire une méthode pour modifier le nom ou la méthode la plus simple et la plus grossière pour modifier directement le private.

class Student{
    private String name;
    int age;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Main {
    public static void main(String[] args) {
        Student a = new Student();
        a.setName("zhangsan");
        System.out.println(a.getName());
        System.out.println(a.age);
    }
}

Sac

Le concept d'un forfait :

        Afin de mieux gérer les classes, plusieurs classes sont rassemblées dans un groupe appelé package.

Remarque : Les classes portant le même nom sont autorisées dans le même projet, à condition qu'elles se trouvent dans des packages différents.
En fait, vous pouvez simplement comprendre un package comme un dossier .

 En Java, vous pouvez importer des classes dans un package via l'instruction import.

C'est vrai, l'instruction similaire au fichier d'en-tête du langage C écrit dans la première ligne du code lorsque nous entrons et sortons habituellement est en fait la classe du package d'importation. Par exemple:

importer java.util.Scanner ;

forfait personnalisé

Règles de base pour les packages personnalisés : 

  1. Ajoutez une instruction package en haut du fichier pour spécifier dans quel package se trouve le code ;
  2. Le nom du package doit être spécifié autant que possible sous la forme d'un nom unique, généralement sous la forme inversée du nom de domaine de l'entreprise (par exemple : com.baidu.www) ;
  3. Le nom du package doit correspondre au chemin du code. Par exemple, si vous créez un package com.baidu.www, il y aura un chemin correspondant com/baidu/www pour stocker le code ;
  4. Si une classe n'a pas d'instruction package, la classe est placée dans un package par défaut.

Tout d'abord, comment créer un package :

Le processus de création d'un package dans IDEA est le suivant, faites d'abord un clic droit sur src puis placez la souris sur new puis cliquez sur package ;

Faites ensuite un clic droit sur le package que vous avez créé pour créer une classe :

 À ce stade, vous pouvez voir qu'IDEA a créé un fichier sous ce chemin :

A ce moment, nous pouvons voir qu'il y a une instruction supplémentaire sur la classe créée

Et nous étions le package par défaut du système, donc il n’y en a pas.

Dans différents forfaits :

 À l'heure actuelle, comme les deux classes ne forment pas de relation parent-enfant, seul le sexe ne signale pas d'erreur.

Comme suit, seuls les modificateurs protégés et publics sont accessibles dans les sous-classes de différents packages.

Je suppose que tu aimes

Origine blog.csdn.net/2302_76339343/article/details/132025189
conseillé
Classement