The advantage of programming against a more generic type is that you can use it in a more generic way... Consider that we had written the VehiculeController to use a specific type:
In this implementation, you would not be able to use the VehiculeController for Bikes...
Code Snippet
class VehiculeController {
private Car car;
VehiculeController(Car c)
{
this.car = car;
}
void DriveToShop()
{
this.car.Forward(100); this.car.Left(); this.Car.Forward(50);
}
}
In this implementation, you would not be able to use the VehiculeController for Bikes...