C++继承基础概念详解
C++编程语言同样也具有面向对象的相关特性。那么它都具有哪些特点呢?在这里我们就为大家详细介绍一下有关C++继承的一些基本特性,希望能帮助大家对这一语言有一个详细的了解。
1.面向对象技术的基本概念是什么?
对象,类和继承。
2.虚函数与多态
虚函数就是允许被其子类重新定义的成员函数。而子类重新定义父类虚函数的做法,被称为“覆盖”(override)。
多态性是允许你将父对象设置成和它一个或更多的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象以不同的方式运作。简单的说,就是:允许将子类类型的指针赋值给父类类型的指针。多态性在C++中是通过虚函数实现的。
3.多态的作用是什么?
封装可以隐藏实现细节,使得代码模块化;C++继承可以扩展已存在的代码模块(类);它们的目的都是为了代码重用。而多态则是为了实现另一个目的——接口重用!
4.接口
C++实际没有接口这个关键字,他是用抽象类的纯虚函数来实现的。
5.关于类
类的私有内部表示被称为是封装的(encapsulated),而类的共有部分被称为类接口(class interface)。
共有成员:在程序的任何地方都可以被访问。实行信息隐藏的类将其public成员限制在成员函数上。要访问成员函数,必须要定义类对象。
私有成员:只能被成员函数和类的友元访问,实行信息隐藏的类把其数据成员声明为private。
被保护成员:对派生类就像public一样,对其他程序表现的像private一样。在无C++继承的类中,protected和private控制符是没有差别的。
6.共有继承,私有继承,保护继承
在公有继承时,派生类的对象可以访问基类中的公有成员,派生类的成员函数可以访问基类中的公有成员和保护成员。
在私有继承时,基类成员对派生类对象来说,基类的所有成员都是不可见的。
对派生类来说,基类的公有成员和protected成员是可见的,可以用成员函数来访问。
私有继承意味着基类的成员,不能被后来的类再继承了。
在保护C++继承时,基类的共有成员和保护成员都作为派生类的保护成员,这意味着它们可以被“后来从该类派生的类”访问,但不能在层次结构之外被访问。
7.虚函数继承与虚拟继承
这两个概念很容易混淆。