Why is implicit conversion allowed from superclass to subclass?
“. Actually, it’s the other way around. A subclass is an instance of the superclass, but not the other way around, so that’s why the types are not compatible. Imagine a very small superclass with just a single method or constant. Now imagine a subclass that defines everything including a kitchen sink. These are almost completely different types. However, the subclass is still an instance of the superclass; it does have that one method or constant. The superclass, on the other hand, has almost nothing that the inherited class implements., “Almost” is good enough for the parent to still be an instance of the child class, but passing the parent class to a method expecting the child would most likely not work, as hardly anything is available.