Construct Shortcut to an Interface

Construct Shortcut to an Interface

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"


Share the Post: