面向对象程序设计及C++(第3版)
上QQ阅读APP看书,第一时间看更新

1.3.1 C++语言对面向对象程序设计的支持

进行面向对象的程序设计,必须使用面向对象的程序设计语言。面向对象的程序设计语言应该具有以下几个特点。

(1)支持对象的概念并拥有对象的所有特点。

(2)实现类的抽象与封装。

(3)提供类的继承机制。

C++语言是在传统C语言的基础上进行改造和扩充,并引入了面向对象的概念和方法,支持面向对象的程序设计,具体表现在以下3个方面。

1.支持封装性

C++语言允许使用类和对象。类是支持封装的工具,对象是封装的实体,是封装的具体实现。类的成员具有不同的访问权限,类的私有成员仅由该类体内的成员函数访问,因此私有成员具有信息隐藏性,在类体外不可见。类的公有成员是类体与外界的接口,类体外的函数可以访问类的公有成员。类中还有一种保护成员,它兼有公有成员和私有成员的部分特性,多用于类继承机制中。

2.支持继承性

C++语言支持面向对象程序设计中的继承,它同时支持单一继承和多重继承。继承性给C++语言的编程带来了方便,提高了代码的可重用性,增强了程序的可扩展性,提高了软件的开发效率。继承是两个类之间的关系,基类和派生类是继承中的重要概念。派生类继承了基类的所有成员,并且可以增添自己特有的新成员,改造从基类继承来的成员。继承实现了抽象和共享机制。

3.支持多态性

多态性是在继承性基础上的面向对象程序设计的重要特性之一。不同编程语言支持多态性的方式有所不同。C++语言同时支持静态多态性和动态多态性,主要表现在以下两个方面:通过静态联编实现的静态多态性和通过动态联编实现的动态多态性。