hen using a class that implements an interface, it can be frustrating to have to create two variables to reference all the properties of both the interface class and the implemented class. For example, if the CEmployee class implements the IPerson interface, then you need two variables:
Dim Emp1 As CEmployee Dim Person1 As IPerson Set Emp1 = New CEmployee Set Person1 = Emp1 Person1.Name = "Joe Smith" Emp1.HireDate = "1/1/1998"
Instead, create a method in the CEmployee class that returns itself as the interface object:
Public Function AsIPerson() As IPerson Set AsIPerson = Me End Function
Now you can rewrite the preceding code using just one object variable:
Dim Emp1 As CEmployee Set Emp1 = New CEmployee Emp1.AsIPerson.Name = "Joe Smith" Emp1.HireDate = "1/1/1998"