Vehicle with __init__(self, name) and wheels() returning 4. Subclass Bike(Vehicle) overriding wheels() to return 2, inheriting the constructor untouched. Then Bike('BMX').wheels() must be 2 while Vehicle('Car').wheels() stays 4.Bike('BMX').wheels()2
The override shadows the base implementation.
class Bike(Vehicle): inherits everything by default.
Just redefine the one method.