Introduction to OOP Chapter 8: Inheritance and Substitution: next previous audio real text

Subclass vs Subtype

Of course, the problem with this argument is that a child class can override a method and make arbitrary changes. It is therefore useful to define two separate concepts: It is possible to form subclasses that are not subtypes; and (in some languages at least) form subtypes that are not subclasses.
Intro OOP, Chapter 8, Slide 12

(We will have much more to say on this topic in a later chapter).