mgardi@watserv1.waterloo.edu (Mutual Life) (01/12/90)
I am curious how people have implemented the idea similar to 'SUPER' in Smalltalk. We would like to do something like to following: Asset / \ Liquid Non-Liquid / \ GIC STOCK Now, for reporting purposes, we would like to pass a container of ASSETS to the report generator. For a particular report, it would like to group all Liquid Assets together. Once the assets are put into a container, they lose their identity (they are all (asset *). Thus we would like to use a function like the Smalltalk ISA function. It would work something like this: for all assets in container if (asset->ISA('Liquid')) do something. The isa() code would be something like: if (thisID == 'GIC') return TRUE; else super:isa(thisID); We do NOT want to hardcode a base classes name in every derived classes isa method. ie. In C++, we can go Liquid:isa(thisID); In general, we would like to get at a base classes (and perhaps its base class) methods without hard coding a dependancy tree. Hope this makes sense. Any help would be appreciated. p. Peter DeVries Mutual Life of Canada c/o mgardi@watdcsu (519) 888-2290 (416) 972-0594