I'm kind of in a different and wierd mindset, so I apologise.

What is the point on having abstract/inheritence? Example, we can have a base class called "vehicle", has methods like "drive()" "stop()" etc.... and classes "Car", "Truck", "Van", "Bus" can derrive from base class "vehicle". Thats all very well, but really what would be the point in that?

why should we also sometimes call a base method? Would that only happen if we override a method which has been declared as a virtual method in the base class?

Sorry for the silly Q, im just soaked up in something and perhaps thinking way too hard into it.