A developer creates a `Vehicle` class and then defines `Car`, `Truck`, and `Motorcycle` classes that each derive from the `Vehicle` class.
Each of these new classes can now reuse the common methods and properties of the `Vehicle` class.
Which object-oriented principle does this scenario best exemplify?