somIsInstanceOf
Appearance
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
*/