Heim  >  Artikel  >  Java  >  Vorlage

Vorlage

Linda Hamilton
Linda HamiltonOriginal
2024-09-22 22:16:02481Durchsuche

Vorlage

Die Vorlage ist eines der Verhaltensentwurfsmuster. Eine abstrakte Klasse definiert eine Reihe von Möglichkeiten/Vorlagen zur Ausführung ihrer Methoden.

Seine Unterklassen können diese Methoden überschreiben/implementieren, aber der Aufruf muss auf die gleiche Weise erfolgen, wie er von einer abstrakten Klasse definiert wird

Lassen Sie uns dies anhand eines Beispiels verstehen:

Schlüsselkonzepte
Vorlage: Eine abstrakte Klasse, die die Struktur/Methode/Vorlage des Algorithmus definiert
Konkrete Implementierung: Konkrete Implementierung der Vorlage
Kunde: Kunde, der diese Vorlage verwenden wird

public abstract class GameVorlage{
    //these below methods can be overridden based on the type of game
    public abstract void initialize();
    public abstract void startPlay();
    public abstract void  endPlay();

    //All the subclasses must use this same method to play the game i.e. following the same template present in this method,
    //Hence it is declared as final.
    public final void play(){
        initialize();
        startPlay();
        endPlay();
    }
}

public class Cricket extends GameVorlage{


    @Override
    public void initialize(){
        System.out.println("Cricket has been initialized");
    }
    @Override
    public void startPlay(){
        System.out.println("Cricket game has been started");
    }
    @Override
    public void endPlay(){
        System.out.println("Cricket game has ended");
    }

}

public class Football extends GameVorlage{

    @Override
    public void initialize(){
        System.out.println("Football has been initialized");
    }
    @Override
    public void startPlay(){
        System.out.println("Football game has been started");
    }
    @Override
    public void endPlay(){
        System.out.println("Football game has ended");
    }

}

public class Main{
    public static void main(String args[]){

        //Create a football game object 
        GameVorlage football = new Football();
        football.play();// play() will strictly follow the sequence of method execution defined in the final play() method

        GameVorlage cricket = new Cricket();
        cricket.play();
    }
}

Ausgabe:

Football has been initialized
Football game has been started
Football game has ended
Cricket has been initialized
Cricket game has been started
Cricket game has ended

Hinweis: Der Code folgt allen Designprinzipien wie LSP, ISP, SRP, OCP

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

Stellungnahme:
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
Vorheriger Artikel:StellvertreterNächster Artikel:Stellvertreter