No history yet

什么是状态

什么是状态?

想象一个普通的电灯开关。它只有两种可能的位置:开或关。当你按下开关,它会保持在新的位置,直到你再次按下它。这个开关“记住”了它当前是开还是关。在计算机科学中,这个被记住的信息就是“状态”。

状态是程序在特定时刻所拥有的所有信息的快照。简而言之,它就是程序的记忆。

几乎所有有用的程序都有状态。状态让程序能够记住过去发生的事情,并根据这些记忆来决定接下来要做什么。如果一个程序没有记忆,它每次的反应都会完全一样,无法完成任何复杂的任务。

Lesson image

电灯开关的状态非常简单,只有两种可能。我们称之为 二进制状态。但在很多情况下,状态会更复杂。比如一个计数器,它的状态可以是任何数字:0、1、2、100,等等。每次你点击“增加”按钮,程序需要先查看当前的状态(现在的数字是多少?),然后才能计算出新的状态(将该数字加一)。没有对当前状态的记忆,计数器就无法工作。

状态无处不在

一旦你理解了状态的概念,你就会发现它无处不在。当你玩电子游戏时,你的分数、生命值和在地图上的位置都是游戏程序需要记住的状态。当你在网上购物时,购物车里的商品列表也是一种状态。

这些程序通过不断地读取和更新状态来与你互动。你捡起一个金币,程序就更新“分数”这个状态。你把一件商品加入购物车,网站就更新“购物车”这个状态。这种根据输入改变自身状态的模型,在计算机科学中非常基础,被称为

没有状态,程序就会患上“失忆症”。你无法登录账户,因为它记不住你是谁。你无法写文档,因为它记不住你输入的文字。状态是连接过去、现在和未来的桥梁,它让程序变得动态、有用且具有互动性。

Quiz Questions 1/5

根据文章,计算机科学中的“状态”指的是什么?

Quiz Questions 2/5

文章中使用电灯开关的比喻主要是为了说明什么?