Replacement and Refinement
There are actually two different ways that overriding can be handled:
- A replacement totally and completely replaces the code in the
parent class the code in the child class.
- A refinement executes the code in the parent class, and
adds to it the code in the child class.
Most languages use both types of semantics in different situations.
Constructors, for example, almost always use refinement.
Intro OOP, Chapter 16, Slide 07