Oop 面向对象编程中的子集与子类型
如果“A”是“B”的子类型,则表示“A”继承“B”的所有字段和方法,此外,“A”还有自己的方法和字段。那么“A”应该被认为是“B”的超集吗?子类型的子集解释如何有效?难道不是相反吗Oop 面向对象编程中的子集与子类型,oop,inheritance,subtyping,Oop,Inheritance,Subtyping,如果“A”是“B”的子类型,则表示“A”继承“B”的所有字段和方法,此外,“A”还有自己的方法和字段。那么“A”应该被认为是“B”的超集吗?子类型的子集解释如何有效?难道不是相反吗 但同样,如果有两类“汽车”和“车辆”,那么“汽车”集合是“车辆”集合的子集是有意义的。然而,“汽车”的领域和方法是“汽车”的超集。所以我对此有点困惑。曾经有过一些争论,关于这段关系中的“sub”应该是哪个。这是C++使用“基类”和“派生类”而不是“超级类”和“子类”的主要原因之一。Stroustrup想避免整个问题。
但同样,如果有两类“汽车”和“车辆”,那么“汽车”集合是“车辆”集合的子集是有意义的。然而,“汽车”的领域和方法是“汽车”的超集。所以我对此有点困惑。曾经有过一些争论,关于这段关系中的“sub”应该是哪个。这是C++使用“基类”和“派生类”而不是“超级类”和“子类”的主要原因之一。Stroustrup想避免整个问题。
但是为了反映@usr在评论中所说的,战争这个术语多年来已经固定下来,人们普遍认为“实例子集”表示“子类”。字段超集,实例子集。