【texte】
Nous savons que le contrôle de l'interface utilisateur le plus important et le plus difficile dans Android est le contrôle de la liste ListView. Si vous souhaitez l'utiliser de manière flexible, vous devez utiliser l'adaptateur adaptateur. Par conséquent, je pense qu'il est encore nécessaire d'apprendre le mode adaptateur en Java (qu'il puisse être utilisé à l'avenir). Après tout, la langue Java est une base très importante pour le développement d'Android.
Pour bien comprendre le mode adaptateur, il y a beaucoup de connaissances à apprendre, par exemple: le mode adaptateur a deux formes différentes: le mode de classe adaptateur et le mode d'adaptateur d'objet. Mais en tant que débutant, j'apprendrai simplement la connaissance d'introduction du mode orchestration, et je continuerai à l'améliorer à l'avenir. J'espère que les chaussures des enfants qui se débattent sur la route du codage ne se plaignent pas → _ →
1. Introduction de l'adaptateur
• Convertissez une interface d'une classe en une autre interface souhaitée par le client. Le mode adaptateur permet à l'origine des classes qui n'ont pas pu travailler ensemble en raison de l'incompatibilité des interfaces pour travailler ensemble.
• Le mode adaptateur est très couramment utilisé dans les cadres Java modernes. Ce modèle convient aux scénarios suivants: vous souhaitez utiliser une classe existante, mais la classe ne répond pas aux exigences d'interface; Ou vous devez créer une classe réutilisable qui s'adapte à d'autres classes qui ne fournissent pas une interface appropriée.
2. Exemples de pommes et d'oranges
L'idée d'un adaptateur peut être illustrée par l'exemple simple suivant. Cet exemple est de faire un "adapt" orange en une pomme. Comme indiqué dans la figure ci-dessous:
Comme vous pouvez le voir dans la moitié inférieure de l'image ci-dessus, l'adaptateur contient une instance orange et hérite de la classe Apple. L'objet orange est placé dans l'adaptateur, donc l'orange agit comme une pomme. Le diagramme logique correspondant est le suivant:
3. Exemples de bouchons de boîte à douille
Dans la figure ci-dessus, nous pouvons connecter avec succès la prise sur la prise gauche à travers l'adaptateur moyen.
4. Implémentation du code de l'adaptateur de fiche
/ ** Mode adaptateur (adaptateur): convertit une interface d'une classe en une autre interface que le client veut. Le mode adaptateur permet à l'origine des classes qui n'ont pas pu travailler ensemble en raison de l'incompatibilité des interfaces pour travailler ensemble. * / class adapterDemo {public static void main (String [] args) {// Power a commence à travailler Powera Powera = new PowerAmpl (); Démarrer (Powera); PowerB PowerB = new PowerBimpl (); PowerAadapter PA = new PowerAAdapter (PowerB); START (PA); } // Méthode de définition: Powera Works public static void start (Powera Powera) {System.out.println (".... un code en double ......"); Powera.insert (); System.out.println ("... un code en double ... / n"); } / ** public static void start (PowerB PowerB) {System.out.println ("... un code en double ......"); PowerB.Connect (); System.out.println ("... un code en double ......"); } * /} // Définir la classe d'adaptateur Classe PowerAadapter implémente Powera {Private PowerB PowerB; // Interface pour adapter public PowerAadapter (PowerB PowerB) {this.powerB = PowerB; } // Implémentation de l'interface Powera, vous devez implémenter les méthodes dans Powera public void insert () {powerb.connect (); }} / ** alimenter une interface * / interface Powera {public void insert ();} class PowerAmplt implémente Powera {public void insert () {System.out.println ("Power Une interface est insérée, commence à travailler"); }} / ** Power B Interface * / Interface PowerB {public void Connect ();} class PowerBimpl implémente PowerB {public void Connect () {System.out.println ("L'interface Power B est connectée, commence à travailler"); }} Dans cet exemple, nous voulons que PowerB appelle le code dans la méthode start () dans Powera; Bien sûr, nous ne voulons pas répéter les 23 ou 25 lignes de code commentées. Pour le moment, vous pouvez utiliser le mode adaptateur.
L'explication du code ci-dessus:
Ligne 30: Commencez à définir l'adaptateur, qui est également le début du code central;
Lignes 33 et 34: Passez PowerB à travers la méthode de construction;
Code de ligne 37: Puisqu'il doit implémenter l'interface Powera, il est nécessaire d'implémenter la méthode insert () dans PowerA;
Code de ligne 38: nous appelons la méthode Connect () de PowerB dans la méthode insert () de Powera;
Immédiatement après, les lignes de code 10, 11 et 12 signifient: Lorsque nous ne le transmettons pas dans l'adaptateur PowerAadapter, commençons l'adaptateur, puis PowerB exécutera le code sur les lignes 16, 24 et 18.
Remarque: L'ordre de 16, 24 et 18 n'est pas faux, car dans l'adaptateur, nous avons remplacé 24 lignes de code par la ligne 17.
L'effet de fonctionnement est le suivant:
De même, si je souhaite également utiliser Powera comme PowerB, je peux définir un autre adaptateur PowerBadapter pour implémenter un adaptateur bidirectionnel.
5. Résumé
Le code commenté dans les lignes 23 et 25 ci-dessus indique qu'il s'agit beaucoup de code en double et ne se conforme pas à la pensée orientée objet. Nous envisageons maintenant un exemple de notre projet en ligne et que les clients l'utilisent, mais une nouvelle demande a été ajoutée. Il existe un principe OO pour les objets orientés objet: fermez la modification (après être allé en ligne, essayez de ne pas modifier le code, sinon une réaction en chaîne peut se produire, entraînant des problèmes avec d'autres codes appelant cette méthode), et ouvert aux extensions (nouvelles méthodes définies par vous-même, que d'autres n'ont pas encore appelées, donc bien sûr, nous pouvons les modifier). À ce stade, nous pouvons réduire ce code en double via les adaptateurs.
6. Principes de conception OO
• Programmation axée sur l'interface (programmation orientée Résumé)
• Modifications du package
• Utilisez plus de combinaisons, utilisez moins d'héritage
• Près des modifications pour s'ouvrir aux extensions
Personnellement, ces principes de conception doivent être continuellement approfondis dans la pratique, donc je ne les décrirai pas trop ici ~
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.