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