C/C++类设计--扩展和继承

来源:互联网 发布:旅游线路图软件 编辑:程序博客网 时间:2024/06/08 01:49

继承是C++程序库用来提供扩展性的主要机制。有时,从一个类实现继承是容易的;但某些时候,从一个类继承确实很难实现的。类派生的困难程度取决于派生类本身与基类的设计与实现。对于一个类而言,如果可以容易地从它派生出适当的派生类,我们就称这个是可以继承的,之所以说是适当的派生类,因为没有人会这样认为:由于不能从类Military_vehicle(军用交通工具)派生出类Washing_machine(洗衣机),所以类Military_vehicle就不具备继承。但当类Militart_vehicle不能容易的派生出类Jeep(吉普车)的时候,我们就可以认为它缺乏继承性,即我们考虑的继承,是基类和派生类是属于某个小范畴里面的。


为了理解一个类具有继承性所需要的品质和特性,先考虑一下继承的3个用途:

1,只希望继承基类的实现,而不继承基类的接口。私有派生将实现这种继承。

2,用户只希望继承基类的接口,而不继承基类的实现,接口类将提供这种继承的实现。

3,用户既想继承基类的接口,又想继承基类的实现。从非接口类中公共派生出子类将实现这种继承。


只继承基类的接口:如果用户只继承基类的接口,而不继承基类的实现,我们就可以提供一个接口类------接口类是指这样的类:不包含数据成员,所有的成员函数都是纯虚函数,并且它的所有基类都是接口类。

只继承基类的实现:用户有时只希望继承基类的实现,而并不打算用派生类对象来代替基类的类对象,那么私有继承将是一种很好的实现办法。


0 0
原创粉丝点击