L'État est l'un des modèles de conception comportementale. En cela, le comportement d'une classe change en fonction de son état.
Concepts clés :
Contexte : Classe/objet dont le comportement change en fonction de l'état
État : état abstrait
Concrete État : représente différents états, ce qui modifie le comportement de la classe Context.
Comprenons cela avec un exemple :
État.java
public interface État { public void doAction(Context context); }
Mise en œuvre concrète de l'État
public class StartÉtat implements État { private Context context; public StartÉtat(){} @Override public void doAction(Context context){ this.context = context; this.context.setÉtat(this); System.out.println("Player is in StartÉtat"); } public String toString(){ return "Start État"; } } public class EndÉtat implements État { private Context context; public EndÉtat(){} @Override public void doAction(Context context){ this.context = context; this.context.setÉtat(this); System.out.println("Player is in EndÉtat"); } public String toString(){ return "End État"; } }
Principal
public class Main { public static void main(String args[]){ Context context = new Context(); État state = new StartÉtat(); state.doAction(context); //current state System.out.println(context.getÉtat().toString()); État state2 = new EndÉtat(); state2.doAction(context); //new État System.out.println(context.getÉtat().toString()); } }
sortie :
Player is in StartÉtat Start État Player is in EndÉtat End État
remarque : le code ci-dessus suit les principes solides des FAI, LSP, SRP et OCP
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!