Les classes abstraites peuvent être appliquées en ajoutant des méthodes abstraites, les méthodes peuvent être créées comme d'habitude ⇒ En héritant, il est possible d'attacher de force une méthode d'une sous-classe. En d'autres termes, en donnant à la classe dérivée la même méthode et en créant de force la méthode Vous pouvez créer une classe qui vous donne une force coercitive
L'équipe a une classe commune appelée A qui utilise la méthode du taux de taxe que tout le monde utilise. Les taxes régionales varient selon la région, alors faites une méthode avec des classes dérivées individuelles.
⇒ Une classe qui implémente une interface peut être placée dans la boîte de l'interface, c'est-à-dire que si l'interface est implémentée, elle peut être commutée entre A et B selon les conditions.
Échantillon (interface)
public interface ControlPanelIf {
void play();
void pause();
void stop();
void forwardFast();
void backwordFast();
}
La classe qui implémente ceci est le code ci-dessous.
En fait, c'est souvent plus compliqué, mais écrivons-le comme un exemple.
public class DvdDeck implements ControlPanelIf {
@Override
public void play() {
System.out.println("Lecture de DVD");
}
@Override
public void stop() {
System.out.println("Arrêt de la lecture du DVD");
}
@Override
public void pause() {
System.out.println("Pause DVD");
}
@Override
public void forwardFast() {
System.out.println("DVD avance rapide");
}
@Override
public void backwardFast() {
System.out.println("Retour rapide de DVD");
}
}
La classe qui utilise cette classe DVDDeck est la suivante.
public class DeckUser {
public static void main(String[] args) {
ControlPanelIf myDeck = createDeck(args[0]);
myDeck.play();
myDeck.forwardFast();
myDeck.pause();
myDeck.play();
myDeck.backwardFast();
}
private static ControlPanelIf createDeck(String deckType) {
ControlPanelIf deck;
if(deckType.equals("DVD") {
deck = new DvdDeck();
} else if(deckType.equals("BluRay") {
deck = new BluRayDeck();
} else if(deckType.equals("HDD") {
deck = new HddRayDeck();
} else {
deck = new DvdDeck();
}
return deck;
}
}
Matériel de référence https://www.slideshare.net/graminmakeall/java-43178044?qid=6a49c149-fcb0-4aa8-87d0-2e4e2c18362b&v=&b=&from_search=5
Recommended Posts