VB5 provides interface inheritance through the use of the Implements keyword. For example, CFullTimeEmployee can implement the IEmployee interface. This interface might include basic information such as name, social security number, and date of birth. Another class, CPartTimeEmployee can also implement the IEmployee interface. You can then write code against the IEmployee interface without regard to the type of employee. To supply additional functionality, you might create an IEmp2 interface. To test whether an object is of a certain type, use the TypeOf keyword at run time. The format is “TypeOf object Is class/interface”. Here’s how to define two classes:
Class CFullTimeEmployee:Implements IEmployeeImplements IEmp2Class CPartTimeEmployeeImplements IEmployeeDim objMyFTE as New CFullTimeEmployeeDim objMyPTE as New CPartTimeEmployee
Using TypeOf, you can query at run time which interfaces these objects support:
Query ReturnTypeOf objMyFTE Is CFullTimeEmployee TrueTypeOf objMyFTE Is IEmployee TrueTypeOf objMyFTE Is IEmp2 TrueTypeOf objMyFTE Is CPartTimeEmployee FalseTypeOf objMyFTE Is Object TrueTypeOf objMyFTE Is IUnknown TrueTypeOf objMyPTE Is CPartTimeEmployee TrueTypeOf objMyPTE Is IEmployee TrueTypeOf objMyPTE Is IEmp2 FalseTypeOf objMyPTE Is Object TrueTypeOf objMyPTE Is IUnknown TrueTypeOf objMyPTE Is CFullTimeEmployee False