Voici un résumé du ** modèle d'adaptateur ** dans le modèle de conception GoF.
Un programme qui affiche les noms et âges des élèves.
Il s'agit de la classe fournie à l'origine.
Human.java
public class Human {
private String name;
private int age;
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public void printName() {
System.out.println(name);
}
public void printAge() {
System.out.println(age);
}
}
L'interface requise.
Student.java
public interface Student {
public abstract void showName();
public abstract void showAge();
}
Cette classe sert d'adaptateur.
HumanAdapter.java
public class HumanAdapter extends Human implements Student {
public HumanAdapter(String name, int age) {
super(name, age);
}
public void showName() {
printName();
}
public void showAge() {
printAge();
}
}
Cette classe effectue le traitement principal.
Main.java
public class Main {
public static void main(String[] args) {
Student student = new HumanAdapter("Tanaka", 25);
student.showName();
student.showAge();
}
}
Tanaka
25
Il s'agit de la classe fournie à l'origine.
Human.java
public class Human {
private String name;
private int age;
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public void printName() {
System.out.println(name);
}
public void printAge() {
System.out.println(age);
}
}
L'interface requise.
Student.java
public interface Student {
public abstract void showName();
public abstract void showAge();
}
Cette classe sert d'adaptateur.
HumanAdapter.java
public class HumanAdapter implements Student {
private Human human;
public HumanAdapter(String name, int age) {
this.human = new Human("Tanaka", 25);;
}
public void showName() {
human.printName();
}
public void showAge() {
human.printAge();
}
}
Cette classe effectue le traitement principal.
Main.java
public class Main {
public static void main(String[] args) {
Student student = new HumanAdapter("Tanaka", 25);
student.showName();
student.showAge();
}
}
Tanaka
25
Le modèle Adapter couvre la classe existante et crée la classe requise. Ce modèle vous permet de créer rapidement les méthodes dont vous avez besoin. Même si un bogue est détecté, si la classe existante est bien testée, vous pouvez vous concentrer sur la classe qui joue le rôle d'Adaptateur, ce qui facilite la vérification du programme. En outre, le modèle d'adaptateur vous permet d'implémenter des fonctionnalités sans modifier les classes existantes, ce qui réduit les tracas de tester à nouveau les classes existantes.
Cet article et exemple de programme ont été créés à partir des livres suivants.
C'était très facile à comprendre et j'ai beaucoup appris. Je vous remercie. Les explications détaillées des modèles de conception et des exemples de programmes sont écrites, veuillez donc également consulter les livres.
Recommended Posts