Tout d'abord, parlons brièvement de la définition de ses trois principales caractéristiques:
Encapsulation: cache les propriétés et les détails de mise en œuvre de l'objet, ne fait qu'exposer l'interface au monde extérieur et contrôle le niveau d'accès des propriétés de lecture et de modification du programme. Combinant les données et comportements abstraits (ou fonctions) pour former un ensemble organique, c'est-à-dire en combinant organique les données avec le code source des données de fonctionnement pour former une "classe", où les données et les fonctions sont membres de la classe. Le but de l'encapsulation est d'améliorer la sécurité et de simplifier la programmation. Les utilisateurs n'ont pas à comprendre les détails de mise en œuvre spécifiques, mais utilisent simplement les membres de la classe via une interface externe, une autorisation d'accès spécifique. Les exigences de base pour l'encapsulation sont les suivantes: Privatiser tous les attributs, fournir des méthodes Getter et Setter pour chaque attribut. S'il y a un constructeur avec des paramètres, vous devez écrire un constructeur sans paramètres. Pendant le développement, vous devez souvent tester les classes déjà écrites, donc parfois vous pouvez réécrire la méthode de tostring, mais ce n'est pas nécessaire.
Héritage: Activer le code de la réutilisation par l'héritage. Toutes les classes de Java sont obtenues par héritage directement ou indirectement de la classe java.lang.object. La classe héritée est appelée sous-classe, et la classe héritée est appelée classe parent. Les sous-classes ne peuvent pas hériter des variables et des méthodes des membres dans la classe parent dont l'autorisation d'accès est privée. Une sous-classe peut remplacer les méthodes de la classe parent et les variables de membre du nom avec le même nom que la classe parent. Cependant, Java ne prend pas en charge l'héritage multiple, c'est-à-dire la capacité d'une classe à dériver de plusieurs superclasses. En développement, la relation de succession est minimisée, ce qui est fait pour réduire le degré de couplage du programme.
Polymorphisme: le polymorphisme est divisé en polymorphisme en temps de conception et en polymorphisme d'exécution. Par exemple, la surcharge est également appelée polymorphisme de conception-temps. Pour les méthodes de remplacement ou d'héritage, le système d'exécution Java décide quelle méthode appelle en fonction du type d'instances qui appellent la méthode, qui est appelée polymorphisme d'exécution. En bref, les caractéristiques typiques de la conception orientée objet sont l'héritage, l'encapsulation et le polymorphisme, qui sont également la clé de la popularité des objets.
Emballer
La valeur par défaut des droits d'accès pour un attribut de classe en Java n'est pas privée. Si vous souhaitez masquer la méthode de cet attribut, vous pouvez ajouter un modificateur privé pour restreindre l'accès à la classe uniquement.
Pour les attributs privés dans une classe, une paire de méthodes (getXxx, setxxx ()) doit être donnée pour accéder aux attributs privés pour garantir le fonctionnement et la sécurité des attributs privés.
Encapsulation de la méthode, divulgation de la divulgation, cachée cachée.
Héritage de Java
L'héritage consiste à abstraction de plusieurs types de choses avec des caractéristiques communes en une seule classe.
L'héritage dans Java doit utiliser le mot clé EXTENSE, et le majeur Java permet l'héritage unique, c'est-à-dire qu'une classe ne peut avoir qu'une classe parent.
Le constructeur ne peut pas être hérité .
Remplacer la méthode java
Lorsqu'il existe des méthodes dans la sous-classe qui renvoient la même liste de paramètres que le même nom accessible dans la classe parent, les méthodes héritées de la classe parent seront écrasées.
mot-clé super ()
super () signifie que lorsque le constructeur de la sous-classe appelle le constructeur de la classe parent, super () ne peut être que dans la première phrase du constructeur.
Polymorphisme en java
Il existe deux mécanismes polymorphes: le polymorphisme à temps de compilation et le polymorphisme d'exécution
1. Méthode Surcharge: La surcharge fait référence à plusieurs méthodes avec le même nom dans la même classe, mais ces méthodes ont des paramètres différents. , vous pouvez donc déterminer la méthode à appeler au moment de la compilation, qui est un polymorphisme à temps de compilation.
2. Méthode Override: les sous-classes peuvent remplacer les méthodes de classe parent, de sorte que la même méthode aura différentes manifestations dans la classe parentale et les sous-classes. Dans la langue Java, les variables de référence de la classe de base peuvent pointer non seulement vers l'objet d'instance de la classe de base, mais aussi vers l'objet d'instance de la sous-classe. De même, les variables de référence dans l'interface peuvent également pointer vers l'objet d'instance de sa classe d'implémentation.
La classe publique A {public String show (d obj) {return ("a and d");} public String show (a obj) {return ("a and a");}} public class b étend une chaîne publique show (b obj) {return ("b et b");} public string show (a obj) {return ("b and a");}}} classe publique C étend b {} public Class d et a ");}} B {} Public Class test {public static void main (String [] args) {a a1 = new a (); a a2 = new b (); b b = new b (); c c = new C (); d d = new d (); System.out.println ("1--" + a1.show (b)); System.out.println ("2--" + a1.show (c)); System.out.println ("3--" + a1.show (d)); System.out.Trrintln ("5--" + a2.show (c)); System.out.println ("6--" + a2.show (d)); System.out.println ("7--" + b.show (b)); System.out.println ("8--" + b.show (c)); System.out.println (9-- "+ b.show (d)); }} 1 - A et A2 - A et A3 - A et D4-B et A5 - B et A6-A et D7-B et B8-B et B9-A et D Lorsqu'un objet Superclass fait référence à une variable pour se référer à un objet de sous-classe, le type de l'objet référencé plutôt que le type de la variable référencée détermine dont la méthode membre est appelée, mais la méthode appelée doit être définie dans la superclasse, c'est-à-dire la méthode couverte par la sous-classe.
Utilisons un exemple pour illustrer la signification de cette phrase: a2.show (b);
Ici, A2 est une variable de référence, du type A, qui fait référence à l'objet B. Par conséquent, selon la phrase ci-dessus, cela signifie qu'il y a B pour décider de quelle méthode à appeler, donc a2.show (b) devrait appeler Show (B obj) en B, et le résultat devrait être "B et B", mais pourquoi est-il différent du résultat de course précédent? Ici, nous ignorons la phrase suivante "mais la méthode appelée ici doit être définie dans la superclasse", donc Show (b Obj) existe dans la classe A? Il n'existe pas du tout! Cette phrase ne s'applique donc pas ici? Alors, cette phrase est-elle mauvaise? Non! En fait, cette phrase implique également cette phrase: elle doit encore être confirmée en fonction de la priorité des méthodes d'appel dans la chaîne d'héritage. C'est pourquoi il trouve Show (un OBJ) dans la classe A. En même temps, car B remplace la méthode, il appelle les méthodes de la classe B, sinon les méthodes de la classe A seront appelées.
Ce qui précède est la compréhension des trois principales caractéristiques de l'encapsulation, de l'héritage et du polymorphisme de Java qui vous sont présentés. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!