Maison  >  Article  >  Java  >  Introduction à la conception de programmation orientée objet en langage Java

Introduction à la conception de programmation orientée objet en langage Java

王林
王林original
2023-06-10 08:30:151274parcourir

En tant que langage de programmation de haut niveau, le langage Java adopte la programmation orientée objet (POO) comme paradigme de programmation de base. En tant qu'idée et méthode de programmation, la programmation orientée objet est devenue le modèle de programmation le plus important dans le domaine de l'informatique. Dans cet article, nous présenterons la conception de programmation orientée objet en langage Java.

1. Qu'est-ce que la programmation orientée objet ?

La programmation orientée objet est une méthode de programmation basée sur les objets. Son idée principale est de décomposer le programme en plusieurs modules, chaque module ayant ses propres données et son propre comportement. Chaque module est un objet et les objets collaborent pour accomplir une certaine tâche en s'appelant mutuellement.

Les concepts fondamentaux de la programmation orientée objet sont les « classes » et les « objets ». Une classe définit les propriétés et le comportement d'un objet, et un objet est une instance d'une classe. Les classes vous permettent de créer plusieurs objets ayant tous les mêmes propriétés et comportements. Cette méthode de programmation peut réaliser efficacement la réutilisation, l'encapsulation et la maintenance du code, rendant le programme plus lisible et maintenable.

La programmation orientée objet en langage Java est basée sur Java Virtual Machine (JVM) qui est une machine virtuelle qui peut s'exécuter sur différentes plateformes. Par conséquent, les programmes Java peuvent fonctionner sur différents systèmes d’exploitation, tels que Windows, Mac, Linux, etc.

2. Programmation orientée objet en Java

La programmation orientée objet en Java comprend principalement les aspects suivants :

1 Classes et objets

La "classe" en Java est un modèle utilisé pour décrire un certain état et. comportement des objets de classe. Un « objet » est une instance d’une classe qui possède les propriétés et les méthodes décrites par la classe. En Java, les classes sont définies via le mot-clé class.

Par exemple, une classe Person est définie ci-dessous :

public class Person{
    private String name; // 姓名
    private int age; // 年龄
    
    // 构造方法
    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }
    
    //获取姓名
    public String getName(){
        return name;
    }
    
    //获取年龄
    public int getAge(){
        return age;
    }
    
    //输出信息
    public void printInfo(){
        System.out.println("姓名:" + name + ",年龄:" + age);
    }
}

Dans le programme ci-dessus, nous définissons une classe Person, qui contient des attributs de nom et d'âge et des méthodes pour obtenir le nom, l'âge et les informations de sortie. Lorsque vous l'utilisez, vous pouvez créer un objet via le code suivant :

Person p = new Person("张三", 20);

Parmi eux, le mot-clé new est utilisé pour créer une instance de la classe Person, c'est-à-dire un objet Person.

2. Encapsulation et héritage

L'encapsulation en Java fait référence au processus de regroupement des données et du comportement d'un objet, cachant les détails d'implémentation internes au monde extérieur. En Java, l'encapsulation est réalisée via des mots-clés de contrôle d'accès privé, public, protégé, etc.

L'héritage signifie qu'une classe hérite des propriétés et des méthodes d'une autre classe. En Java, l'héritage est implémenté via le mot-clé extends. Les sous-classes peuvent hériter des propriétés et des méthodes de la classe parent et peuvent également remplacer (Override) les méthodes de la classe parent.

Ce qui suit est un exemple d'héritage :

public class Student extends Person{
    private String school; // 学校

    // 构造方法
    public Student(String name, int age, String school){
        super(name, age);
        this.school = school;
    }
    //获取学校
    public String getSchool(){
        return school;
    }
    //输出信息
    public void printInfo(){
        super.printInfo(); // 调用父类的printInfo方法
        System.out.println("所在学校:" + school);
    }
}

Dans le programme ci-dessus, nous avons défini une classe Student, qui a hérité des attributs et des méthodes de la classe Person, et a ajouté l'attribut school et les méthodes getSchool et printInfo.

3. Polymorphisme

Le polymorphisme en Java fait référence à différentes manifestations du même comportement. En Java, le polymorphisme est obtenu par héritage et remplacement.

Ce qui suit est un exemple de polymorphisme :

public class Test{
    public static void main(String[] args){
        Person p = new Person("张三", 20);
        p.printInfo();
        Student s = new Student("李四", 18, "北大");
        s.printInfo();
        p = s; // 多态
        p.printInfo();
    }
}

Dans le programme ci-dessus, nous définissons une classe Person et une classe Student, qui ont toutes deux leur propre méthode printInfo. Dans la méthode principale, nous créons d'abord un objet Person p et générons ses informations ; puis créons un objet Student s et générons ses informations ; puis nous implémentons le polymorphisme via "p = s", et lorsque nous appelons à nouveau la méthode printInfo de p, qu'est-ce que c'est ? en fait, la méthode printInfo de la classe Student est appelée.

4. Interface

L'interface en Java est un ensemble de méthodes abstraites. Toutes les méthodes de l'interface sont abstraites et n'ont pas d'implémentation spécifique. Les interfaces peuvent être implémentées par classes, et une classe peut implémenter plusieurs interfaces. En Java, les interfaces sont définies via le mot-clé interface.

Ce qui suit est un exemple d'interface :

interface IShape{
    public abstract double area();
}

class Circle implements IShape{
    private double radius;
    public Circle(double radius){
        this.radius = radius;
    }
    public double area(){
        return Math.PI * radius * radius;
    }
}

class Rectangle implements IShape{
    private double width, height;
    public Rectangle(double width, double height){
        this.width = width;
        this.height = height;
    }
    public double area(){
        return width * height;
    }
}

public class Test{
    public static void main(String[] args){
        IShape c = new Circle(2.0);
        IShape r = new Rectangle(3.0, 4.0);
        System.out.println("圆面积:" + c.area());
        System.out.println("矩形面积:" + r.area());
    }
}

Dans le programme ci-dessus, nous avons défini une interface IShape et deux classes, Circle et Rectangle, qui implémentent toutes deux l'interface IShape. Dans la méthode principale, nous créons des objets Circle et Rectangle et appelons respectivement leurs méthodes de zone.

Résumé

Le langage Java adopte la programmation orientée objet (POO) comme paradigme de programmation de base et implémente la conception de programmes à travers des mécanismes tels que les classes et les objets, l'encapsulation et l'héritage, le polymorphisme et les interfaces. Les programmes écrits à l'aide de méthodes de programmation orientées objet ont une bonne maintenabilité, une bonne évolutivité et une meilleure réutilisabilité du code.

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