C++语言程序设计

客观世界中任何一个事物都可以看作一个对象。或者说，客观世界是由千千万万个对象组成的，它们之间通过一定的渠道相互联系，如图1－8所示。例如一所学校是一个对象，一个班级也是一个对象。实际生活中，人么往往在一个对象中进行活动，或者说对象是进行活动的基本单位。例如在一个班级中，学生进行上课、休息、开会和文娱活动等。作为对象，它应该至少具有两个因素：一是从事活动的主体，例如班级中的若干名学生；二是活动的内容，如上课、开会等。
从计算机的观点看，一个对象应该包括两个因素：一是数据，相当于班级中的学生；二是需要进行的操作，相当于学生进行的活动。对象就是一个包含数据以及与这些数据有关的操作的集合。图1－9表示一个对象是由数据和操作代码组成的。

| 图1－8 |  | 图1－9

每一个实体都是对象。有一些对象是具有相同结构和特性的。例如三年级一班、二班、三班是三个不同的对象，但是它们属于同一类型，它们具有完全相同的结构和特性。而四年级一班、二班、三班的类型也是相同的，但是它们同三年级班级的类型并不相同。每个对象都属于一个类型。在包括C＋＋在内的许多面向对象程序设计语言当中，对象的类型叫做类（class）。类代表了某一批对象的共性和特征。可以说，类是对象的抽象，而对象是类的具体实例。正如同整数类型和一个整型变量的关系一样。我们可以先声明"首都"这样一个类，那么北京、东京、华盛顿都是属于这个类的对象。类是用来定义对象的一种抽象数据类型，或者说它是产生对象的模板。
C＋＋中类的声明格式如下：

| 程序：

class class_name
{
private:
私有的数据和成员函数；
public：
公有的数据和成员函数；
}；

首先应清楚掌握对象的三方面关键特征（如果你还对做作文有着深刻的记忆，不妨将它们想象成"谁，什么和哪里"。这些关键特征包括：
■ 对象的行为是什么？
■ 对象的状态是什么？
■ 对象的身份是什么？
对属于同一个类的所有对象实例来说，它们都支持类似的"行为"，就像一家人那样。对象的行为由其接收到的消息定义。
每个对象都保存着一些信息，这些信息包括对象的当前的外观，以及它当前的工作方式。这些信息被称为对象的"状态"。
然而，一个对象的状态并不能彻底描述一个对象，因为每个对象都有不同的"身份"。
比如在一套订单处理系统中，尽管两份订单有可能订购完全相同的货物，但这两份订单也是完全不同的。对从属于同一个类的各个独立对象实例来说，请注意用词：它们的身份是"总是"不同的，而状态则是"通常"不同的！