The way I see it, the only difference is that a couple variables and a one liner function would get moved into the abstract class and out of the extention classes. If the assignment stated that we should design it specifically to be very expandable and scaleable, then code simplicity (and readibility, in my opinion) would have to be sacrificed.
I don't understand why it is so important that it be so easily extendable from the start (would that it be extended in the future). Really, one can copy paste the code, change a few lines and the conversion is all done in around 3 minutes. Had I known that expandibility had such high importance, I'd have implemented accordingly.
In any event, how many points of the 20 do you think will be allocated to this abstract class?
-Will |