Heim > Java > javaLernprogramm > Hauptteil

Zustand

Mary-Kate Olsen
Freigeben: 2024-09-22 22:15:32
Original
530 Leute haben es durchsucht

Zustand

Der Zustand ist eines der Verhaltensentwurfsmuster. Dabei ändert sich das Verhalten einer Klasse basierend auf ihrem Zustand.

Schlüsselkonzepte:
Kontext: Klasse/Objekt, deren Verhalten sich je nach Zustand ändert
Zustand: abstrakter Zustand
Konkreter Zustand: Stellt verschiedene Zustände dar, die das Verhalten der Kontextklasse ändern.

Lassen Sie uns dies anhand eines Beispiels verstehen:

Zustand.java

public interface Zustand {
    public void doAction(Context context);
}
Nach dem Login kopieren

Konkrete Umsetzung des Staates

public class StartZustand implements Zustand {
    private Context context;
    public StartZustand(){}
    @Override
    public void doAction(Context context){
        this.context = context;
        this.context.setZustand(this);
        System.out.println("Player is in StartZustand");
    }

    public String toString(){
        return "Start Zustand";
    }
}

public class EndZustand implements Zustand {
    private Context context;
    public EndZustand(){}
    @Override
    public void doAction(Context context){
        this.context = context;
        this.context.setZustand(this);
        System.out.println("Player is in EndZustand");
    }

    public String toString(){
        return "End Zustand";
    } 
}

Nach dem Login kopieren

Haupt

public class Main {
    public static void main(String args[]){
        Context context = new Context();
        Zustand state = new StartZustand();
        state.doAction(context);
        //current state
        System.out.println(context.getZustand().toString());

        Zustand state2 = new EndZustand();
        state2.doAction(context);
        //new Zustand
        System.out.println(context.getZustand().toString());
    }
}
Nach dem Login kopieren

Ausgabe:

Player is in StartZustand
Start Zustand
Player is in EndZustand
End Zustand
Nach dem Login kopieren

Hinweis: Der obige Code folgt den soliden Prinzipien von ISP, LSP, SRP und OCP

Das obige ist der detaillierte Inhalt vonZustand. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!