Maison  >  Article  >  Java  >  Modèle

Modèle

Linda Hamilton
Linda Hamiltonoriginal
2024-09-22 22:16:02604parcourir

Modèle

Le modèle est l'un des modèles de conception comportementale, une classe abstraite définit un ensemble de manières/modèles pour exécuter ses méthodes.

Ses sous-classes peuvent remplacer/implémenter ces méthodes mais l'invocation doit être de la même manière que celle définie par une classe abstraite

Comprenons cela avec un exemple :

Concepts clés
Modèle : Une classe abstraite définissant la structure/voie/modèle de l'algorithme
Mise en œuvre concrète : Mise en œuvre concrète du modèle
Client : Client qui utilisera ce modèle

public abstract class GameModèle{
    //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 GameModèle{


    @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 GameModèle{

    @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 
        GameModèle football = new Football();
        football.play();// play() will strictly follow the sequence of method execution defined in the final play() method

        GameModèle cricket = new Cricket();
        cricket.play();
    }
}

Sortie :

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

remarque : le code suit tous les principes de conception comme LSP, ISP, SRP, 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:ProcurationArticle suivant:Procuration