规划应用程序
这个应用程序的类库 Ch10CardLib
包含类。在开始编写代码前,应规划一下需要的结构和类的功能。
1. Card 类
Card
类基本上是两个只读字段 suit
和 rank
的容器。把字段指定为只读的原因是 "空白" 的牌是没有意义的,牌在创建好后也不能修改。为此,要把默认的构造函数指定为私有,并提供另一个构造函数,使用给定的 suit
和 rank
建立一副扑克牌。
此外,Card
类要重写 System.Object
的 ToString()
方法,这样才能获得人们可以理解的字符串,以表示扑克牌。为使编码简单一些,为两个字段 suit
和 rank
提供枚举。
Card
类 如图 10-9 所示
。
2. Deck 类
Deck
类包含 52 个 Card
对象。我们为这些对象使用一个简单的数组类型。这个数组不能直接访问,因为对 Card
对象的访问要通过 GetCard()
方法来实现,该方法返回指定索引的 Card
对象。这个类也有一个 Shuffle()
方法,用于重新排列数组中的牌。 Deck
类 如图 10-10 所示。
🔚