Implementing Classes in SOM
Appearance
Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation
The SOM Run-Time Environment
Run-time environment initialization
SOMObject class object
SOMClass class object
SOMClassMgr class object and SOMClassMgrObject
Parent class vs. metaclass
SOM-derived metaclasses
Inheritance
Method Resolution
Offset resolution
Name-lookup resolution
Dispatch-function resolution
Customizing Method Resolution
The four kinds of SOM methods
Static methods Nonstatic methods Dynamic methods Direct-call procedures
Implementing SOM Classes
The implementation template
Stub procedures for methods
Extending the implementation template
Accessing internal instance variables
Making parent method calls
Converting C++ classes to SOM classes
Running incremental updates of the implementation template file
Considerations to ensure that updates work
If you change the parents of a class...
Compiling and linking
Initializing and Uninitializing Objects
Initializer methods Declaring new initializers in SOM IDL Considerations re: 'somInit' initialization from earlier SOM releases Implementing initializers Selecting non-default ancestor initializer calls Using initializers when creating new objects Uninitialization Using 'somDestruct' A complete example Implementation code Customizing the initialization of class objects
Creating a SOM Class Library
General guidelines for class library designers
Types of class libraries
Building export files
Specifying the initialization function
Using Windows class libraries