面向对象程序设计有4个主要特点:抽象、封装、继承和多态性。我们已经讲解了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础。
要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特 征——继承性和多态性。本章主要介绍有关继承的知识,多态性将在后续章节中讲解。
继承性是面向对象程序设计最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对象的精华,就是没有掌握面向对象程序设计的真谛。
在传统的程序设计中,人们往往要为每一种应用项目单独地进行一次程序的开发,因为每一种应用有不同的目的和要求,程序的结构和具体的编码是不同的,人们无法使用已有的软件资源。即使两种应用具有许多相同或相似的特点,程序设计者可以吸取已有程序的思路,作为自己开发新程序的参考,但是人们仍然不得不重起炉灶,重写程序或者对已有的程序进行较大的改写。显然,这种方法的重复工作量是很大的,这是因为过去的程序设计方法和计算机语言缺乏软件重用的机制。人们无法利用现有的丰富的软件资源, 这就造成软件开发过程中人力、物力和时间的巨大浪费,效率较低。
面向对象技术强调软件的可重用性(software reusability)。C++语言提供了类的继承机制,解决了软件重用问题。