Car
class. It's been plugged into your traffic simulation which is chugging along merrily simulating traffic.
Then your pointy haired boss rolls in the door, and tells you that he needs
the Car
class to not accelerate past the 70 miles per hour
(pointy haired bosses rarely understand the metric system)
even if the car's a Ferrari with a maximum speed in excess of 200
miles per hour.
What are you going to do? Your first reaction may be to change the class that you already wrote so that it limits the speed of all the cars. However you're using that class elsewhere and things will break if you change it.
You could create a completely new class in a different file, either by starting from scratch or by copying and pasting. This would work, but it would mean that if you found a bug in the Car
class now you'd have to fix it in two files. And if you wanted to add new
methods to the Car
class, you'd have to add them in two files. Still this is the best you could do if you were writing in C or some other traditional language.