SomIsInstanceOf: Difference between revisions
Appearance
Created page with "{{DISPLAYTITLE:somIsInstanceOf}} This method determines whether an object is an instance of a specific class. Not generally overridden. For backward compatibility, this metho..." |
|||
| Line 61: | Line 61: | ||
* [[somIsA]] | * [[somIsA]] | ||
[[Category: | [[Category:SOMObject]] | ||
Latest revision as of 03:02, 13 October 2017
This method determines whether an object is an instance of a specific class. Not generally overridden.
For backward compatibility, this method does not take an Environment parameter.
- Original Class
- SOMObject
Syntax
boolean somIsInstanceOf (SOMObject receiver, SOMClass aClass)
Parameters
- receiver (SOMObject)
- A pointer to the object to be tested.
- aClass (SOMClass)
- A pointer to the class that the object should be an instance of.
Return Code
- rc (boolean)
- Returns 1 (true) if the receiving object is an instance of the specified class, and 0 (false) otherwise.
Remarks
Use the somIsInstanceOf method to determine if an object is an instance of a specific class. This method tests an object for inclusion in one specific class. It is equivalent to the expression:
(aClass == somGetClass (receiver))
Example Code
#include <dog.h>
/* ----------------------------------
Note: Dog is derived from Animal.
---------------------------------- */
main()
{
Animal myAnimal;
Dog myDog;
SOMClass animalClass;
SOMClass dogClass;
myAnimal = AnimalNew ();
myDog = DogNew ();
animalClass = _somGetClass (myAnimal);
dogClass = _somGetClass (myDog);
if (_somIsInstanceOf (myDog, animalClass))
somPrintf ("myDog is an instance of Animal\n");
if (_somIsInstanceOf (myDog, dogClass))
somPrintf ("myDog is an instance of Dog\n");
if (_somIsInstanceOf (myAnimal, animalClass))
somPrintf ("myAnimal is an instance of Animal\n");
if (_somIsInstanceOf (myAnimal, dogClass))
somPrintf ("myAnimal is an instance of Dog\n");
_somFree (myAnimal);
_somFree (myDog);
}
/*
Output from this program:
myDog is an instance of Dog
myAnimal is an instance of Animal
*/