【设计模式】状态模式 - 详解
概念
行为模式
类图

代码
#include <iostream>
using namespace std;
class AudioPlayer
;
class State
{
public:
~State() = default;
explicit State(AudioPlayer* audioPlayer) {
player = audioPlayer;
}
virtual void ClickLock() = 0;
virtual void ClickPlay() = 0;
virtual void ClickNext() = 0;
virtual void ClickPrevious() = 0;
protected:
AudioPlayer* player;
};
class LockedState
: public State {
public:
void ClickLock() override {
}
void ClickPlay() override {
}
void ClickNext() override {
}
void ClickPrevious() override {
}
};
class ReadyState
: public State {
};
class PlayingState
: public State {
};
class AudioPlayer
{
public:
private:
State* state;
};
int main(int argc, char *argv[]) {
cout <<
"State pattern needs to be complemented." << endl;
cout <<
"One cpp file cannot satisfy." << endl;
return 0;
}

浙公网安备 33010602011771号