este método ya puede haber sido mencionado anteriormente por su nombre formal, pero no sé su nombre formal, así que aquí está. Este ejemplo "extiende" la clase TextBox (ejemplo en VB). Creo que una ventaja de este método es que no necesita codificar ni exponer explícitamente a los miembros integrados. Espero que esto es relevante:
VB Módulo de clase "MyTextBox":
public Base as TextBox, CustomProperty as Integer
Private Sub Init(newTextBox as TextBox)
Set Base = newTextBox
End Sub
public Property Get CustomProperty2() As String
CustomProperty2 = "Something special"
End Property
Para llamar al código, se podría decir:
Dim MyBox as New MyTextBox
MyBox.Init MyForm.TextBox3
desde aquí se tiene acceso a todos los incorporados en los miembros , además de sus miembros personalizados.
Debug.Print MyBox.Base.Text
MyBox.CustomProperty = 44
Para pulido adicional, puede hacer que la base de la propiedad predeterminada de la clase, y entonces usted puede dejar de lado "base" cuando se llama a las propiedades de la clase base. Se llama a los miembros de base como esto:
Debug.Print MyBox().Text
MyBox().Text = "Hello World"
VBA Demo
muy relacionadas: http://stackoverflow.com/questions/554145/liskov-substition-and-composition – cregox