来自java课程的pdf:http://www.ccs.neu.edu/home/riccardo/courses/csu370-fa07/lect4.pdf
它说:
对于那些在家中关注的人,让我强调子类化不是继承。我们将在课程后期看到继承。
当然,子类化和继承是相关的。正如我们将看到的,继承是一种代码重用机制,它允许您在定义子类时轻松地重用代码。但是,即使你没有继承,子类也是有意义的。
(实际上,有些语言有子类但没有继承,至少不像Java实现那样继承。)
子类是类的属性,并且恰好是Java类型系统的一部分。 Java使用子类来确定可以在对象上调用哪些方法,并在对象不提供给定方法时在编译时返回错误。
我想知道哪些语言具有子类但没有继承,至少不是像Java实现的继承? (因为我不太了解这些概念,所以如果我能用一些实际的语言看到它,那就会更清楚了)
答案 0 :(得分:3)
这是一个没有区别的区别。很显然,他只是在使用“继承”这个词时才谈论继承方法。他没有以Wegner87引入的规范方式使用该术语,它与子类化密不可分:
继承:类可以从“超类”继承操作,并且可以使其操作由“子类”继承。由操作“C new”创建的类C的对象将C作为其“基类”,并且可以使用在其基类中定义的操作以及在超类中定义的操作。CS老师经常有奇怪的想法。这是其中之一。