2 votes

Connaître l'état d'un objet à l'aide du modèle d'état (state pattern)

J'utilise le modèle d'état et j'ai besoin de savoir dans quel état se trouve un objet donné pour l'imprimer. J'ai pensé à utiliser une méthode abstraite renvoyant une chaîne de caractères que chaque état surchargerait avec son propre nom, est-ce une solution acceptable ?

public abstract class State{

    public abstract String getState();

}

class StateOne extends State{

    @Override
    public String getState(){ return "StateOne"; }

}

// And so on for each state...

1voto

StepUp Points 246

On dirait que vous avez "est un" il est donc possible de mettre la méthode abstraite getState() dans une classe abstraite :

public abstract class State{

    public abstract String getState();

}

La classe abstraite doit contenir le comportement de toutes les classes dérivées. getState() est prévue pour être utilisée dans toutes les classes dérivées. En outre, getState() a une très forte cohésion avec State classe. C'est donc un cas où il faut utiliser l'héritage.

Pour savoir quand préférer l'héritage ou la composition.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X