文件名称:示例应用程序-机器人学导论第三版课后习题答案
文件大小:14.06MB
文件格式:PDF
更新时间:2024-07-29 05:32:27
c#入门经典 第五版 高清 中文 文字版
10.6 示例应用程序 为了解释前面使用的一些技术,下面开发一个类模块,以便在后续章节中使用。这个类模块包 含两个类: Card——表示一张标准的扑克牌,包含梅花、方块、红心和黑桃,其顺序是从 A 到 K。 Deck——表示一副完整的 52 张扑克牌,在扑克牌中可以按照位置访问各张牌,并可以洗 牌。 再开发一个简单的客户程序,确保程序正常工作,但在整个扑克牌应用程序中不使用扑克牌。 10.6.1 规划应用程序 这个应用程序的类库 Ch10CardLib 包含类。在开始编写代码前,应规划一下需要的结构和类的 功能。 1. Card类 Card 类基本上是两个只读字段 suit 和 rank 的容器。把字段指定为只读的原因是“空白”的牌是 没有意义的,牌在创建好后也不能修改。为此,要把默认的构造函 数指定为私有,并提供另一个构造函数,从给定的 suit 和 rank 中建 立一副扑克牌。 图 10-8 此外,Card 类要重写 System.Object 的 ToString()方法,这样才 能获得人们可以理解的字符串,以表示扑克牌。为使编码简单一些, 为两个字段 suit 和 rank 提供枚举。 Card 类如图 10-8 所示。 2. Deck类 Deck 类包含 52 个 Card 对象。我们为这些时象使用一个简单的数组类型。这个数组不能直接访 问,因为对 Card 对象的访问要通过 GetCard()方法来实现,该方法返回指定索引的 Card 对象。这个 类也有一个 Shuffle()方法,重新安排数组中的牌,所以它应如图 10-9 所示。 227