我正在阅读有关状态模式的信息。我才刚刚开始,所以我当然要从阅读关于它的整个Wikipedia 文章开始。
我注意到文章中的两个示例都有一些基本抽象类或 Java 接口,用于通用 State 的方法/函数。然后有一些从基础继承并以不同方式实现这些方法/功能的状态。然后是一个 Context 类,它有一个 State 类型的私有成员,并且在任何时候,它都可以等于其中一个实现的实例。该上下文类也实现了相同的方法,并将它们传递给当前状态实例,然后有一个额外的方法来改变状态(或者根据设计,我理解状态的改变可能是对已实现方法之一的反应) .
为什么这个上下文类不专门“扩展”或“实现”通用 State 基类/接口?