[JavaSE] Encapsulation orientée objet

Le concept d'encapsulation
L'encapsulation consiste à entourer le processus et les données, et l'accès aux données ne peut se faire que via l'interface définie. L'informatique orientée objet commence par le concept de base selon lequel le monde réel peut être représenté comme une série d'objets encapsulés entièrement autonomes qui accèdent à d'autres objets via une interface protégée. L'encapsulation est une technologie de masquage d'informations implémentée en Java via les mots-clés private, protected et public.
Qu’est-ce que l’encapsulation ?
L'encapsulation combine tous les composants d'un objet. L'encapsulation définit la manière dont le programme fait référence aux données de l'objet. L'encapsulation utilise en fait des méthodes pour masquer les données de la classe et contrôler la mesure dans laquelle les utilisateurs peuvent modifier la classe et accéder aux données. Une encapsulation appropriée peut rendre le code du programme plus facile à comprendre et à maintenir, et améliore également la sécurité du code du programme.
Caractéristiques de l'encapsulation
1. Les données ne sont accessibles que via des méthodes spécifiées.
2. Masquez les détails de l'instance de la classe pour faciliter la modification et la mise en œuvre.
Les étapes spécifiques pour implémenter l'encapsulation sont les suivantes :
1. Modifier la visibilité de l'attribut pour restreindre l'accès à l'attribut, généralement défini sur private .
2. Créez une paire de méthodes d'affectation (setter) et de méthode de valeur (getter) pour chaque attribut, généralement définies sur public, utilisées pour la lecture et l'écriture des attributs.
3. Dans les méthodes d'affectation et d'acquisition de valeur, ajoutez des instructions de contrôle d'attribut (pour juger de la légalité des valeurs d'attribut).
Ce qui suit utilise l'encapsulation d'une classe d'employés comme exemple pour présenter le processus d'encapsulation. Nous supposons que les principaux attributs d'un employé incluent le nom, l'âge et le salaire. Supposons que la classe d'employés soit Employee. L'exemple est le suivant :

public class Employee {
    
    
    private String name; // 姓名
    private int age; // 年龄
    private double balance; // 工资
    
    //定义无参构造方法
    public Employee() {
    
    
    }
    //定义有参构造方法
    public Employee(String name, double balance, int age) {
    
    
        this.getBalance();
        this.getAge();
        this.getName();
    }
    public String getName() {
    
    
        return name;
    }
    public void setName(String name) {
    
    
        this.name = name;
    }
    public int getAge() {
    
    
        return age;
    }
    public void setAge(int age) {
    
    
        // 对年龄进行限制
        if (age > 18 && age < 45) {
    
    
            this.age = age;
        } else {
    
    
            System.out.println("年龄必须在18到45之间!");
            this. Age = 18; // 默认年龄
        }
    }
        public double getBalance() {
    
    
        	return balance;
    }

    public void setBalance(double balance) {
    
    
    	//工资必须大于1000
        if (balance>1000){
    
    
            this.balance = balance;
        }else {
    
    
            System.out.println("error");
        }
    }
}

Comme le montre le code ci-dessus, les propriétés sont modifiées à l'aide du mot-clé private, ce qui signifie qu'aucune autre classe ne peut accéder à ces propriétés à l'exception de la classe Employee elle-même. Cependant, ces propriétés peuvent se voir attribuer des valeurs via leurs méthodes setXxx() et y accéder via leurs méthodes getXxx().
Dans la méthode setAge() de l'attribut age, jugez d'abord le paramètre age passé par l'utilisateur. Si la valeur de age n'est pas comprise entre 18 et 45, définissez la valeur de l'attribut age de la classe Employee sur 18, sinon ce sera la paramètre passé.valeur.
Écrivez la classe de test TestEmployee, appelez la méthode setXxx() de l'attribut Employee dans la méthode main() de la classe pour attribuer des valeurs à ses attributs correspondants, et appelez la méthode getXxx() pour accéder aux attributs. Le code est comme suit:

public class TestEmployee {
    
    
    public static void main(String[] args) {
    
    
        Employee people = new Employee();
        people.setName("小张");
        people.setAge(20);
        people.setBalance(10000);
        //输出信息
        System.out.println("姓名:" + people.getName());
        System.out.println("年龄:" + people.getAge());
        System.out.println("工资:" + people.getBalance());
    }
}

Le rôle de l'encapsulation
① La fonction d'encapsulation des données des objets élimine complètement les problèmes causés par la séparation des données et des opérations dans la méthode structurelle traditionnelle, améliore la réutilisabilité et la maintenabilité du programme et réduit la charge du programmeur liée à la maintenance du contenu des données et des opérations. fardeau.
② La fonction d'encapsulation des données de l'objet peut également séparer les données privées et les données publiques de l'objet, protéger les données privées, réduire les interférences possibles entre les modules et atteindre l'objectif de réduire la complexité du programme et d'améliorer la contrôlabilité.

Je suppose que tu aimes

Origine blog.csdn.net/qq_58032742/article/details/132296052
conseillé
Classement