Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 面向对象编程中的子集与子类型_Oop_Inheritance_Subtyping - Fatal编程技术网

Oop 面向对象编程中的子集与子类型

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

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


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

曾经有过一些争论,关于这段关系中的“sub”应该是哪个。这是C++使用“基类”和“派生类”而不是“超级类”和“子类”的主要原因之一。Stroustrup想避免整个问题。
但是为了反映@usr在评论中所说的,战争这个术语多年来已经固定下来,人们普遍认为“实例子集”表示“子类”。

字段超集,实例子集。