Java est un langage de programmation orienté objet (Programmation Orientée Objet, POO), et l'idée de programmation orientée objet est une méthode de développement logiciel dont le cœur est la programmation basée sur les objets. La programmation orientée objet peut aider les programmeurs à mieux organiser et gérer le code, et à améliorer la réutilisabilité, la maintenabilité et l'évolutivité du code. Dans cet article, nous aiderons les lecteurs à mieux comprendre les idées de POO et le langage Java en introduisant le processus logique de la programmation orientée objet dans le développement Java.
En Java, tout est un objet, vous devez donc d'abord définir une classe pour décrire l'objet. Nous pouvons utiliser le mot-clé class en Java pour définir une classe, comme indiqué ci-dessous :
public class Person { // 属性 private String name; private int age; // 方法 public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } }
La classe contient des attributs et des méthodes. Les attributs sont utilisés pour décrire les caractéristiques de l'objet, et les méthodes sont utilisées. pour décrire le comportement de l'objet. Le code ci-dessus définit une classe Person, qui contient deux attributs name et age, ainsi que quatre méthodes setName, setAge, getName et getAge. Dans une classe, on peut utiliser des contrôles d'accès (public, protégé, privé) pour limiter la visibilité des propriétés et des méthodes.
Lorsque la définition de la classe est terminée, nous pouvons utiliser cette classe en créant des objets. En Java, utilisez le mot-clé new pour créer un objet, comme indiqué ci-dessous :
Person person = new Person(); person.setName("张三"); person.setAge(20); System.out.println(person.getName()); System.out.println(person.getAge());
Le code ci-dessus crée un objet Person, définit ses attributs de nom et d'âge, et enfin affiche son nom et son âge. Ici, nous pouvons voir que le processus de création d'un objet est complété en appelant le constructeur de la classe, puis en définissant et en obtenant les propriétés via les méthodes de l'objet.
Dans la pensée POO, l'encapsulation et l'héritage sont des concepts clés. L'encapsulation fait référence au fait de cacher les informations d'état d'un objet à l'intérieur de l'objet et de fournir uniquement des interfaces exposées au monde extérieur pour garantir la sécurité et la maintenabilité de l'objet. L'héritage signifie qu'une classe peut hériter de ses propriétés et méthodes en étendant une autre classe, et sur cette base, elle peut ajouter ses propres propriétés et méthodes.
En Java, l'encapsulation et l'héritage sont également implémentés via des mots-clés, respectivement privés, protégés et publics. Les portées de ces trois mots-clés sont respectivement privée, protégée et publique. Pour les propriétés et méthodes d'une classe, nous pouvons utiliser ces trois mots-clés pour limiter leur visibilité afin de réaliser l'encapsulation. L'exemple de code est le suivant :
public class Person { // 私有属性 private String name; private int age; // 公共方法 public void setInfo(String name, int age) { this.name = name; this.age = age; } public String getInfo() { return "姓名:" + this.name + ",年龄:" + this.age; } } public class Student extends Person { // 私有属性 private int id; // 公共方法 public void setId(int id) { this.id = id; } public int getId() { return this.id; } }
Dans le code ci-dessus, nous définissons une classe Person et une classe Student qui hérite de la classe Person. La classe Person définit deux propriétés privées name et age, ainsi qu'une méthode publique setInfo et une méthode publique getInfo, qui sont utilisées pour définir et obtenir les attributs name et age. La classe Student hérite de tous les attributs et méthodes de la classe Person et ajoute un nouvel identifiant d'attribut privé et deux méthodes publiques setId et getId, qui sont utilisées pour définir et obtenir l'attribut du numéro d'étudiant.
Grâce au code ci-dessus, nous pouvons voir que les attributs nom et âge de la classe Person sont définis comme des attributs privés et ne sont accessibles que par les méthodes à l'intérieur de la classe, tandis que les méthodes publiques setInfo et getInfo sont exposé à l’extérieur pour définir et obtenir les valeurs des propriétés. Dans la classe Student, puisqu'elle hérite de la classe Person, elle contient également les attributs name et age. Cependant, lorsque l'objet de classe Student définit les attributs name et age, il ne peut être défini que via la méthode setInfo héritée et ne peut pas y accéder directement. les attributs de nom et d’âge.
En même temps, dans la classe Student, nous avons ajouté un nouvel identifiant d'attribut privé et défini les méthodes publiques setId et getId pour définir et obtenir la valeur de l'attribut. Puisque la classe Student n’expose pas l’attribut id à l’extérieur, son contrôle d’accès est privé. Grâce à l'héritage, la classe Student peut utiliser les méthodes getInfo et setInfo dans la classe parent pour accéder au nom et à l'âge des attributs privés dans la classe parent, réalisant ainsi la réutilisation des membres de la classe parent.
Le polymorphisme est un autre concept important dans la programmation orientée objet. Cela signifie que la même méthode peut accepter plusieurs formes de paramètres à réaliser. des comportements différents. Il existe deux manières d'implémenter le polymorphisme :
in In héritage et polymorphisme, nous pouvons accéder aux méthodes de la sous-classe via la référence de la classe parent, réalisant ainsi une invocation dynamique. L'exemple de code est le suivant :
public class Person { public void say() { System.out.println("我是人类"); } } public class Student extends Person { public void say() { System.out.println("我是学生"); } } public class Teacher extends Person { public void say() { System.out.println("我是老师"); } } public class Test { public static void main(String[] args) { Person person = new Person(); Person student = new Student(); Person teacher = new Teacher(); person.say(); student.say(); teacher.say(); } }
Le code ci-dessus définit une classe Personne et deux classes Étudiant et Enseignant qui héritent de la classe Personne. Dans la classe Test, nous avons créé respectivement un objet Person, un objet Student et un objet Teacher, et avons généré les informations correspondantes en appelant leurs méthodes say. Étant donné que la classe Student et la classe Teacher héritent de la classe Person et remplacent sa méthode say, lorsque la méthode say est appelée, la méthode correspondante sera exécutée en fonction du type d'objet, obtenant ainsi un effet polymorphe.
Dans le polymorphisme d'implémentation d'interface, nous pouvons définir un ensemble de méthodes via l'interface, puis laisser différentes classes d'implémentation implémenter cet ensemble de méthodes en fonction de leurs propres besoins. L'exemple de code est le suivant :
public interface Animal { public void eat(); } public class Cat implements Animal { public void eat() { System.out.println("猫吃鱼"); } } public class Dog implements Animal { public void eat() { System.out.println("狗吃肉"); } } public class Test { public static void main(String[] args) { Animal cat = new Cat(); Animal dog = new Dog(); cat.eat(); dog.eat(); } }
Le code ci-dessus définit une interface Animal et deux classes Cat et Dog qui implémentent cette interface. Dans la classe Test, nous avons créé respectivement un objet Cat et un objet Dog, et avons généré les informations correspondantes en appelant leur méthode eat. Étant donné que les classes Cat et Dog implémentent toutes deux l'interface Animal et remplacent sa méthode eat, lorsque la méthode eat est appelée, la méthode correspondante sera exécutée en fonction du type d'objet, obtenant ainsi un effet polymorphe.
résumé
Grâce à l'introduction du processus logique ci-dessus, nous pouvons voir que les idées de programmation orientée objet sont très importantes dans le développement Java. Il peut aider les programmeurs à mieux organiser et gérer le code grâce à l'encapsulation, l'héritage et le polymorphisme, améliorant ainsi la réutilisabilité, la maintenabilité et l'évolutivité du code. Pour les développeurs Java, la maîtrise des idées de programmation orientée objet permettra d'obtenir de meilleurs résultats en matière de développement de programmes.
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!