For each OpenDoc class, descriptions of its public methods follow the general class description. If a method is not used directly by parts but only by the OpenDoc document shell or a container application, the method description makes this restriction clear.
Because method names are not unique, cross-references to method descriptions in this book use a fully qualified method name with the notation ClassName::MethodName. For example, ODDocument::CreateDraft means the CreateDraft method of the ODDocument class.
Most method descriptions in this book state what the method actually does. If a method can be overridden, however, its description states what the override method should do. If you override the method, you should implement your override method to behave as the description says it should. If you call such a method, you can assume that the method behaves as it should, but you should be aware that the actual behavior depends on how each override method is implemented.
OpenDoc objects are passed by reference when they are used as parameters to methods or as values returned from methods. To emphasize this fact, this book uses the term reference exclusively to mean reference to an object. The way in which objects are referenced may vary among programming languages. If you use the C++ language, the use of the term "reference" in this book does not necessarily imply a C++ reference.
Because OpenDoc is an object-oriented class library, multiple objects of a given OpenDoc class can be created at run time. For this reason, method descriptions use the term this object (for instance, "this part" or "this frame") to refer to the specific object whose method is being called.
If a method must be or cannot be overridden, the method description makes this restriction clear. If an override method must or cannot call its inherited method, the method description makes this restriction clear. Otherwise, the following default information can be assumed for each method where overriding information is not explicitly stated.
If you subclass ClassName, you can override this method. Your override method can call its inherited method at any point in your implementation.