C++语言程序设计

(二)、继承
一般说来，对象是根据类来定义的。我们也可以用一个类来定义另一个类。例如，山地车、赛车和双座自行车都是自行车的一种。用面向对象的术语来说，它都是自行车类的子类或派生类，而自行车类是它们的超类或父类或基类。它们的关系如下图所示：

每一个子类继承了超类的数据和操作，但是，子类并不是局限于超类的数据和操作。例如，双座自行车有两个坐垫，山地车有一个额外的低速齿轮。继承的主要益处是可以复用超类的程序代码。
(三)、多态
多态是指对于相同的消息，不同的对象具有不同的反应的能力。多态在自然语言中应用很多，我们以动词"关"为例。同一个"关"子应用于不同的对象，含义就不相同。例如，关一个门，关一个银行帐户或关一个窗口，精确的含义依赖于执行这种行为的对象。在面向对象的程序设计中，多态意味着不同的对象，对同一消息具有不同的解释。多态是一个强大的功能，它允许调用对象的成员函数，而不用关心对象的类型。
从上面的介绍，我们可以看出：面向对象的程序设计完全不同于结构化的程序设计。后者是将问题进行分解，然后用许多功能不同的函数来实现，数据与函数是分离的；前者是将问题抽象成许多类，将数据与对数据的操作封装在一起，各个类之间可能存在着继承关系，对象是类的实例，程序是由对象组成的。面向对象的程序设计可以较好地克服结构化程序设计存在的问题，使用得好，可以开发出健壮、易于扩展和维护的应用程序。