7.2.6 对象的集合体

一个复杂数据之“复杂”主要体现在两个方面:要么该数据是由大量成员数据组成的,要么该数据具有深层的内部结构。第 6 章介绍了如何利用各种集合体数据类型和数据结构来 表示数量复杂性,本章介绍的类则可以刻画内部结构的复杂性。

可以推想,如果将集合体类型与类相结合,就能表示现实中的任意复杂的信息。即,用 集合体表示大量的数据成员,而每个数据成员是一个具有复杂内部结构的对象。我们不妨用 下面的公式来表达这个思想:

类 + 集合体 = 任意复杂的数据

例如,如果程序中要处理的数据是“一群人”,那么我们可以利用一个 Person 对象的列表来表示这一群人。假设我们已经创建了若干个 Person 对象,如 7.2.2 中创建的 p1 和 p2,下 面的代码将这两个对象存储在一个列表 people 中。现在 people 就是一个非常复杂的数据,既 有大量的成员,而且每个成员本身又是复杂的对象。我们可以利用循环语句对复杂数据 people 中的所有成员进行特定处理(如显示姓名和年龄):

>>> people = [p1, p2]
>>> for p in people:
        p.whatName() 
        p.howOld(2013)
My name is Lucy
My age in 2013 : 8 My name is Tom
My age in 2013 : 23