为什么通过公开继承另一个类来构建类是一种较差的方法?

马修·布热津斯基(Matthew Brzezinski)

我正在为我的OOP决赛学习,遇到一个让我有些困惑的问题。问题是“解释为什么通过公开继承List类来构建Stack类是一种较差的方法。请描述一个更好的解决方案。”

我不确定我的答案是否正确,但这是因为“公开继承...”吗?而且最好改为私有继承,这样除Stack之外的其他类都不知道继承?

templatetypedef

如果派生类公开地从基类继承,则派生类基类的实例,可能具有某些额外的功能或重写的功能。对于堆栈和列表,堆栈不是列表-从逻辑上讲,它不执行搜索,连接,反转等列表操作-因此从列表继承不是一个好主意。

您可以在此处使用私有继承,但这并不是一个特别优雅的解决方案。相反,您可以通过让堆栈将列表作为私有数据成员保存来实现堆栈。这就是为什么您经常听到“在继承方面偏爱组成(拥有私有数据成员)”的原因。

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我需要一种服务来调用另一个类中的方法。那会是什么?

来自分类Dev

是否有另一种方法可以替代.val(),我需要使用另一个值来选择一个类

来自分类Dev

为什么继承另一个类的一个类不能产生与“另一个类”相同的结果?

来自分类Dev

另一个继承类中的继承类

来自分类Dev

为什么我可以在运行时通过 ClassName.__init__(self) 初始化另一个类来扩展一个类

来自分类Dev

从同一个类调用时,为什么一个被视为绑定方法而另一种普通函数却被视为绑定方法呢?

来自分类Dev

为什么我不能为另一个类拉一个方法?

来自分类Dev

有没有一种方法可以从我通过导入创建另一个类的实例的地方获取该类的名称?

来自分类Dev

扩展已经继承了另一个类的类

来自分类Dev

通过从另一个类调用方法来更新信息

来自分类Dev

有没有一种方法可以将Java中的一个类“别名”为另一个类?

来自分类Dev

为什么不从另一个类中调用一个类的静态方法“ main”?

来自分类Dev

通过另一个类调用方法

来自分类Dev

可以一个标签通过另一种方法的扩展类的内部进行修改?

来自分类Dev

通过方法从另一个类引用一个类变量

来自分类Dev

继承一个类,该类继承了另一个已经包含的类

来自分类Dev

如何通过从另一个“类”调用“new”来获取 JavaScript“类”?

来自分类Dev

有没有一种方法可以使用Java中的Timer类来平滑图形组件从一个点到另一个点的过渡?

来自分类Dev

ruby类方法可以从另一个类继承吗?

来自分类Dev

当我从另一个类继承时,为什么必须两次使用__init __()?

来自分类Dev

为什么从另一个类执行此私有方法?

来自分类Dev

为什么我不能从另一个类调用方法

来自分类Dev

为什么我不能在另一个类中调用静态方法?

来自分类Dev

Swift:创建一个按钮来调用另一个类中的方法

来自分类Dev

公开方法确实被另一个类使用

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

从另一个类和ActiveRecord :: Base继承

来自分类Dev

从另一个python类'继承'@property

来自分类Dev

从另一个类和ActiveRecord :: Base继承

Related 相关文章

  1. 1

    我需要一种服务来调用另一个类中的方法。那会是什么?

  2. 2

    是否有另一种方法可以替代.val(),我需要使用另一个值来选择一个类

  3. 3

    为什么继承另一个类的一个类不能产生与“另一个类”相同的结果?

  4. 4

    另一个继承类中的继承类

  5. 5

    为什么我可以在运行时通过 ClassName.__init__(self) 初始化另一个类来扩展一个类

  6. 6

    从同一个类调用时,为什么一个被视为绑定方法而另一种普通函数却被视为绑定方法呢?

  7. 7

    为什么我不能为另一个类拉一个方法?

  8. 8

    有没有一种方法可以从我通过导入创建另一个类的实例的地方获取该类的名称?

  9. 9

    扩展已经继承了另一个类的类

  10. 10

    通过从另一个类调用方法来更新信息

  11. 11

    有没有一种方法可以将Java中的一个类“别名”为另一个类?

  12. 12

    为什么不从另一个类中调用一个类的静态方法“ main”?

  13. 13

    通过另一个类调用方法

  14. 14

    可以一个标签通过另一种方法的扩展类的内部进行修改?

  15. 15

    通过方法从另一个类引用一个类变量

  16. 16

    继承一个类,该类继承了另一个已经包含的类

  17. 17

    如何通过从另一个“类”调用“new”来获取 JavaScript“类”?

  18. 18

    有没有一种方法可以使用Java中的Timer类来平滑图形组件从一个点到另一个点的过渡?

  19. 19

    ruby类方法可以从另一个类继承吗?

  20. 20

    当我从另一个类继承时,为什么必须两次使用__init __()?

  21. 21

    为什么从另一个类执行此私有方法?

  22. 22

    为什么我不能从另一个类调用方法

  23. 23

    为什么我不能在另一个类中调用静态方法?

  24. 24

    Swift:创建一个按钮来调用另一个类中的方法

  25. 25

    公开方法确实被另一个类使用

  26. 26

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  27. 27

    从另一个类和ActiveRecord :: Base继承

  28. 28

    从另一个python类'继承'@property

  29. 29

    从另一个类和ActiveRecord :: Base继承

热门标签

归档