Suppose that one day you've just finished your 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.
|