An abstract class is a class that can't have any instances.
Abstract classes are generally designed to capture operations that subclasses inherit. The idea is that the operations defined for an abstract class are relatively general, and each class that inherits these operations refines and expands upon them. (You explore inheritance in Chapter 2.)
In UML notation, the name of an abstract class appears in italics (see Figure 1-11).
Note ‚ | Figure 1-11 adds an abstract operation, record , to the Review class. CustomerReview and EditorialReview both inherit this operation, but the operation works differently in the context of each class. |
You can also use an ‚ «abstract ‚ » stereotype for readers of the model who might not realize the significance of the italics.