Additional Considerations .......................... 13-17
Basic saveobj and loadobj Pattern..................... 13-19
Using saveobj and loadobj......................... 13-19
Handle Load Problems............................ 13-20
Maintain Class Compatibility......................... 13-23
Rename Property................................ 13-23
Update Property When Loading..................... 13-25
Maintaining Compatible Versions of a Class............ 13-26
Version 2 of the PhoneBookEntry Class ................ 13-27
Initialize Objects When Loading...................... 13-30
Calling Constructor When Loading Objects ............. 13-30
Initializing Objects in the loadobj Method.............. 13-30
Save and Load Objects from Class Hierarchies........... 13-33
Saving and Loading Subclass Objects................. 13-33
Reconstruct the Subclass Object from a Saved struct..... 13-33
Restore Listeners................................... 13-36
Create Listener with loadobj........................ 13-36
Use Transient Property to Load Listener............... 13-36
Using the BankAccount and AccountManager Classes.... 13-38
Enumerations
14
Named Values ...................................... 14-2
Kinds of Predefined Names.......................... 14-2
Techniques for Defining Enumerations................. 14-3
Define Enumeration Classes........................... 14-5
Enumeration Class................................ 14-5
Construct an Enumeration Member................... 14-5
Convert to Superclass Value......................... 14-6
Define Methods in Enumeration Classes................ 14-7
Define Properties in Enumeration Classes............... 14-7
Enumeration Class Constructor Calling Sequence......... 14-8
xxiv Contents