Answers:
当您需要记住某件事时,需要“状态”。理想情况下,功能(不是“方法”或其他方法)仅取决于其输入。如果您问一个问题,即使输入内容相同,答案也会随时间变化,那么您需要记住一些答案的差异,对吗?否则,您将无法给出其他答案,因为没有其他因素发生变化(假设答案不直接取决于时间)。
您需要记住的“事物/信息”称为“状态”。
(不需要此“状态”随时间变化,基本上只是说“记住/知道某事”的一种方式)
来自维基百科:
状态通常是指系统或实体的当前状态。
这在计算上下文中几乎意味着什么:定义某些对象或系统条件的数据。
“状态”的含义并不特定于编程。从字面上看,到处都有“状态”的例子。电视关了。咖啡很热。运动鞋是a)蓝色的;b)有臭味;c)不收起;d)相当破旧。在编程意义上的“状态”与在非编程意义上的“状态”相同,只是我们将其应用于所处理的对象:变量,对象,线程,数据库,文件系统等。对其进行解释,以熟悉的术语进行解释-无需将其变成外国的技术概念。
时钟是具有某些状态的简单系统的一个很好的例子:时钟可以运行或不运行,它指示的时间可能与实际时间相对应。很容易看到这些东西如何像变量一样,以及改变时钟状态如何影响其他东西。
将其与无状态的内容进行比较,例如以下语句:“门是红色的。” 语句本身没有状态。门为红色可能是正确的,也可能不是,但是语句本身不包含任何状态。油漆门可以改变陈述的真实性,但是陈述本身永远不会改变。类似地,像42这样的数字没有任何状态:42是42,您无法更改。
变量有状态,值没有。
您可以使用交通信号灯的类比,它可以处于以下三种状态之一:[绿色],[黄色]或[红色]。一次只能处于一种状态。交通灯是正在建模的实际状态机。通常,它会从[绿色到黄色],然后从[黄色到红色],然后从[红色到绿色]转换其状态。
另一种状态转换(在某些国家(例如英国)有效,它具有[红色到黄色,然后从黄色到绿色]的两个转换来代替[红色到绿色]的转换。