>>>>Each method should have one function and one only
>>
>>Doesn't "overloading" contradict that idea?
>
>No. I believe overloading proves the idea. If I call the car wheel turn method - it does one function. If I call the steering wheel turn method it does one function. It's a matter of perspective of the object.
SteeringWheel.Expand ???
Class SteeringWheel {
Public Static bool Expand( int DistancePosition)
{}
Public Static bool Expand(Driver driver)
{}
)
Now you can use the Expand to go a specific distance in the first load and overload it with an object to pull the distance out of it.