【问题标题】:Subset vs Subtyping in OOPOOP 中的子集与子类型化
【发布时间】:2016-03-12 17:08:30
【问题描述】:

如果“A”是“B”的子类型,则表示“A”继承了“B”的所有字段和方法,此外“A”还有自己的方法和字段。那么'A'应该被认为是'B'的超集吗?子类型的子集解释如何有效?不应该反过来吗?

但是,如果有两个类“汽车”和“车辆”,那么“汽车”集合是“车辆”集合的子集是有道理的。然而,“汽车”的领域和方法是“车辆”的超集。所以我对此有点困惑。

【问题讨论】:

标签: oop inheritance subtyping


【解决方案1】:

曾经有过一些争论,关于谁应该是关系中的“子”。这是 C++ 使用术语“基类”和“派生类”而不是“超类”和“子类”的主要原因之一。 Stroustrup 想回避整个问题。

但是为了反映 @usr 在 cmets 中所说的内容,多年来术语战已经平息,并且普遍认为“实例的子集”表示“子类”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2013-06-09
    • 1970-01-01
    • 2017-07-30
    • 2012-11-29
    • 1970-01-01
    相关资源
    最近更新 更多