首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中为抽象基类设计子类

在C++中为抽象基类设计子类
EN

Software Engineering用户
提问于 2011-10-21 13:06:00
回答 1查看 598关注 0票数 1

我在C++中做了一个小任务,在这个任务中,我必须在我选择的领域中使用虚拟函数和继承等概念。我正在Linux中实现包管理器的原型。

我有基类包,它有package_id、名称、版本、依赖项等属性。有两种类型的包-- MetaPackages和ConcretePackages --它们的安装和删除方式不同。

我正在考虑将包中的安装和删除方法声明为虚拟的。当将这些包存储在数据文件中时,我可以知道存储的包是元包还是具体包。

我不知道该如何设计这个。谁能给我指点资源好让我更好地学习这些东西。

我们的课程里有格雷迪布奇,老实说,读起来更难理解了。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2011-10-21 13:21:52

我正在考虑将包中的安装和删除方法声明为虚拟的。

听起来是个好主意。

当将这些包存储在数据文件中时,我可以知道存储的包是元包还是具体包。

你为什么要知道?多态性的要点(可能是这个特定的练习)是,对象的用户不需要知道它的具体类型,只需调用它的方法即可。如果上述方法遵循基接口定义的“契约”,则它们的实现细节对调用方并不重要。

您应该根据元包和具体包的特性在每个具体子类中实现installremove方法。然后,包的安装程序只需要遍历包的集合,并在每个包上调用相应的方法。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/115576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档