Maison  >  Article  >  Java  >  Qu'est-ce que l'abstraction et l'encapsulation en Java

Qu'est-ce que l'abstraction et l'encapsulation en Java

(*-*)浩
(*-*)浩original
2019-05-22 19:45:434180parcourir

L'abstraction est le processus consistant à résumer les caractéristiques communes d'une même classe et à la construire en une classe ; elle ne se soucie que des variables membres et des fonctions membres, et ne concerne pas les détails spécifiques de l'implémentation. L'encapsulation consiste à encapsuler les données et les méthodes d'exploitation dans des fonctions/classes, puis à les installer ; c'est-à-dire à lier les données et les méthodes pour exploiter les données et à fournir des interfaces définies pour l'accès au monde extérieur.

Qu'est-ce que l'abstraction et l'encapsulation en Java

Les quatre caractéristiques fondamentales de Java sont l'abstraction, l'encapsulation, le polymorphisme et l'héritage. Aujourd'hui, nous allons parler de ce que sont l'abstraction et l'encapsulation.

Abstraction

Abstraction : Le processus de résumé des caractéristiques communes d'une même classe et de sa construction en classes. Y compris l'abstraction de données et l'abstraction comportementale. L'abstraction des données devient les variables membres de la classe et l'abstraction comportementale devient les fonctions membres de la classe. L'abstraction ne se soucie que des variables membres et des fonctions membres et n'a rien à voir avec les détails spécifiques de l'implémentation.

Ce qui suit est Person.class, qui représente des données liées aux humains et diverses activités. Seuls certains attributs et comportements sont répertoriés.

public class Person{
    // 年龄(数据抽象)
    public int age;
    // 名字(数据抽象)
    public String name;

    public Person(){

    }
    public Person(int age,String name){
        this.age = age;
        this.name = name;
    }
    // 吃东西(行为抽象)
    public void eat(){
        System.out.println("I am eating");   
    }
    // 走路(行为抽象)
    public void walk(){
        System.out.println("I am walking");  
    }
}

Créer un objet humain :

Person person = new Person(18,"张三");

Le code ci-dessus est uniquement utilisé pour représenter des abstractions simples, faisant abstraction des attributs communs et des comportements communs des personnes.

Encapsulation

L'encapsulation peut en fait être comprise comme : « installation » et « scellement », ce qui signifie encapsuler les données et les méthodes de fonctionnement dans des fonctions/classes, puis les installer . Autrement dit, les données et les méthodes d'exploitation des données sont liées entre elles et une interface définie est fournie pour l'accès au monde extérieur. L’essence de l’orientation objet est de représenter le monde réel comme une série d’objets fermés et complètement autonomes. On comprend que quelle que soit la complexité de l'implémentation interne, les utilisateurs peuvent l'ignorer complètement et n'ont besoin que de savoir comment l'utiliser.

Un petit exemple : ce qui suit est une classe d'étudiant. La méthode d'étude est en fait une sorte d'encapsulation. Si le monde extérieur a besoin que les étudiants apprennent, alors appelez directement la méthode study(). pour savoir comment je mets en œuvre cette méthode.

public class Student implements Serializable {
    public String name;
    public String number;
    public int age;
    public Student() {
    }
    public Student(String name, String number, int age) {
        this.name = name;
        this.number = number;
        this.age = age;
    }
    public void study(){
        System.out.println("我是学生"+name+",我今年"+age+"岁。");
        //内部可能有很复杂的操作,但是调用者只需要关注如何调用即可
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn