Ok guy's either you don't get the benefits of polymorphic programming (it's designed to solve the problems of setting a flag for special handling because that's pretty bad if you have to maintain your code for a long time) or you just have that small projects that it really doesn't matter - then why bother, just skip the stuff and code however it's best suited for you. That's not a bad decision at all - in the end what really counts are the results.
An engine is not a method - the difference between a method and an object is it's state. An engine holds lots of states like age, number of runs, current speed, power etc..
Another example - powersuply in your house - you think your sockets should have "methods" for a TV, for a toaster, for a pc? Or isn't it better (well there's no chance one can question that) to have an abstract interface just for supplying energy to whatever "user" usese that common interface. Note the slight difference, the way you think about programming at the moment would be that your socket has methods like PowerToaster(), PowerTV() moving the usage decision to the wrong side of the fence.
An engine is not a method - the difference between a method and an object is it's state. An engine holds lots of states like age, number of runs, current speed, power etc..
Another example - powersuply in your house - you think your sockets should have "methods" for a TV, for a toaster, for a pc? Or isn't it better (well there's no chance one can question that) to have an abstract interface just for supplying energy to whatever "user" usese that common interface. Note the slight difference, the way you think about programming at the moment would be that your socket has methods like PowerToaster(), PowerTV() moving the usage decision to the wrong side of the fence.