[JAVA] Revue d'encapsulation

Qu'est-ce que l'encapsulation?

Récemment, ma compréhension de l'encapsulation, qui est l'un des concepts de base de la POO, s'est estompée, je vais donc l'écrire pour ma propre critique avec une plage de révision très étroite.

Qu'est-ce que l'encapsulation? Si demandé par elle qui n'a jamais programmé Pour le dire simplement, ** Protégez ces fines particules à l'intérieur de l'extérieur comme une capsule de médicament. Vous pourriez dire ** d'abord, puis expliquer dans le code.

~~ Je comprends qu'il s'agit d'un contrôle d'accès à un objet de l'extérieur. (En fait, il peut y en avoir plus ...) ~~ J'ai reçu des conseils dans les commentaires et j'ai réalisé que ma compréhension était erronée.

** Le contrôle d'accès est un moyen d'encapsulation, il est donc différent de l'encapsulation. ** **

** Explication de l'encapsulation **

L'encapsulation est une «classe pour quoi» en combinant les données liées et le traitement qui nécessite ces données en une seule lors de la division du logiciel, et en excluant de la classe celles qui ne sont pas pertinentes et non pertinentes. Ceci est fait pour clarifier le but de la classe "Est-ce que c'est?", Et vise un état où il n'y a pas de données en double ou de traitement dans d'autres classes.

Expliquer concrètement avec un code incroyablement simple

Person.java


public class Person {
    private int age;
    private String name;
    //Mot de passe de la carte de crédit
    private int creditCardPinNum;
    public double weight = 69;

    public Person(int age, String name, int creditCardPinNum) {
        this.age = age;
        this.name = name;
        this.creditCardPinNum = creditCardPinNum;
    }
    // getter
    public String getName() {
        return name;
    }
    // setter
    public void changeName(String name) {
        this.name = name;
    }

    //Getter qui peut lire l'âge de l'extérieur
    public int getAge() {
        return age;
    }
}

Remarque: c'est ma propre interprétation pour venger le concept.

Tout d'abord, les gens ne peuvent pas changer d'âge, non? Un enfant de 10 ans ne peut pas avoir «20 ans de demain», Par conséquent, l'âge de la classe Person est contrôlé par l'accès afin qu'elle ne puisse pas être modifiée (les variables membres sont rendues privées et la méthode setter est supprimée). J'ai un getter parce que je peux dire aux autres mon âge (** je ne mens pas ou ne mens pas cette fois **).

Bien qu'il s'agisse d'un nom, puisqu'une personne peut changer le nom autant de fois qu'elle le souhaite, une méthode de définition (changeName) est écrite dans la classe Person.

Résumé

~~ Qu'est-ce que l'encapsulation? Contrôle d'accès externe (masquage d'informations) ~~ L'encapsulation est une «classe pour quoi» en combinant les données liées et le traitement qui nécessite ces données en une seule lors de la division du logiciel, et en excluant de la classe celles qui ne sont pas pertinentes et non pertinentes. Ceci est fait pour clarifier le but de la classe "Est-ce que c'est?", Et vise un état où il n'y a pas de données en double ou de traitement dans d'autres classes.

Recommended Posts

Revue d'encapsulation
Encapsulation
Rails Examen 1
Revue Ruby 2
Revue Java
java (encapsulation)
À propos de l'encapsulation
[Java] Encapsulation
Encapsulation, polymorphisme
Ruby Review 1
Rails Revue 2
Note de révision Enum
Points de révision du code
java IO examen