Exercises
We've looked at the concept of defining abstract classes to define some – but not all – common features of two objects. Take a quick look around to see how you can apply these principles to your own work. A script can often be restated as a class; each major step of the work a separate method. Do you have similar-looking scripts that – perhaps – share a common abstract definition? Another place to find things that are partially related is in the classes that describe data files. A spreadsheet file often has small variations in layout; this suggests they have a common abstract relationship, but a method needs to be part of an extension to handle the variations in the layouts.
When we think about the DDice
class, there's yet another enhancement that would be nice. Right now, the operators are all defined for DDice
instances only. In order to create a hand of dice, we need to – somewhere – use a DDice
constructor. This...