All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
visual c++中基类与派生类概念

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:39:20 Browse times: 224 Comment times: 0

visual c++中基类与派生类概念


Head photo

Go homepage
Upload pictures
Write articles

visual c++中基类与派生类概念

visual c++中基类与派生类概念
面向对象的程序设计有一个非常重要的特征——继承,它是程序代码可重用性的具体体现。继承和派生是一对意义相反的概念,还是以自然界继承关系为例:

图1 自然界继承关系
从图1中可以看出,动物类继承了生物类的特征,换句话说,动物类是从生物类派生出来的。像这样,在继承关系中处于高层的类就称为低层类的基类。如图中生物类是动物类的基类;脊椎动物类是哺乳动物类的基类。与其对应的,在继承关系中处于低层的类就为高层类的派生类。如图中动物类是生物类的派生类,哺乳动物类是脊柱动物类的派生类。
单一派生
单一派生是指一个派生类只有一个直接基类,如图1所示。

图1 单一派生示意图
在图中,由于Class B是从Class A派生而来,此时,Class A就称为Class B的直接基类;与之相对,称Class A是Class C的间接基类。
下面的代码实现了上面的结构:
class A
{
//在此添入类A的成员
};
class B:public A
{
//在此添入类B的特有成员
};
由上段代码可以看出,类的单一派生使用了如下语句:
class ClassName : AccessSpecifier BaseClass
{
//派生类的新增成员
};
其中,ClassName是派生类的类名;AccessSpecifier指定了基类的继承方式,在下面会进一步探讨;BaseClass是基类的类名。
AccessSpecifier所指定的继承方式与在类中指定成员的访问权限相仿,提供public、private和protected 3个关键字,用户可以根据需要在这里使用不同的关键字。
表1列举出不同派生方式得到的派生类对基类成员的访问权限。

表1 不同派生方式得到的派生类对基类成员的访问权限
从表1中可以看出,无论使用哪种方式的派生类,其成员函数都可以访问基类中使用private关键字限定成员。但对于以public方式生成的派生类,在基类中使用public和protected关键字限定的成员,在派生类中仍然相当于使用了public或protected;对于使用protected方式生成的派生类,在基类中使用public和protected限定的成员,在派生类中都相当于使用了public关键字;而对于以private方式生成的派生类,它们都相当于使用了private关键字。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.