The Workplace Shell introduces several new classes derived from the SOMObject class; for example, class definitions for a folder (WPFolder), a program reference (WPProgram) and a printer (WPPrinter). The class hierarchy of the classes used in the Workplace Shell is illustrated in Figure "Workplace Shell Class Hierarchy".
Notice that this hierarchy includes three so-called base classes from which all the remaining classes are derived; these base classes are also known as base storage classes because the fundamental difference between them, and therefore between all their derived classes, lies in the way they store their control data. For a fuller discussion of this see Workplace Shell Implementation.
If you want to implement a new WPS class, you must first decide which of the existing classes provides the most promising base from which to work - you have to subclass one of them. Early experience suggests that subclassing the existing base classes or their derivatives is usually the more practicable approach - implementing a new base class by subclassing WPObject may be desirable but should be regarded as a very major piece of work.