lunes, 26 de mayo de 2014

4.4 Implementacion en el lenguaje


Un tipo puede implementar un miembro de tipo de una interfaz implementada proporcionando un método con una cláusula Implements. Los dos miembros de tipo deben tener el mismo número de parámetros y todos los tipos y modificadores de los parámetros deben coincidir, incluido el valor predeterminado de los parámetros opcionales. Un solo método puede implementar cualquier número de miembros de tipo de interfaz, siempre y cuando cumplan todos los criterios anteriores.
Un tipo derivado no puede implementar un miembro de tipo de interfaz que ya esté implementado por cualquiera de sus tipos base; sin embargo, cuando se implementa un método de interfaz utilizando un método reemplazable en un tipo base, un tipo derivado puede reemplazar el método reemplazable y modificar la implementación de la interfaz. Un tipo derivado puede implementar una interfaz cuyas interfaces base hayan sido implementadas por los tipos base de los tipos derivados. En tal caso, el tipo derivado sólo implementa los miembros de tipo de la interfaz que aún no hayan sido implementados por los tipos base.
 Por ejemplo:

Interface IBase
   Sub Base()
End Interface

Interface IDerived
   Inherits IBase

   Sub Derived()
End Interface

Class Base
   Implements IBase

   Public Sub Base() Implements IBase.Base
   End Sub
End Class

Class Derived
   Inherits Base
   Implements IDerived

   ' Error: IBase.Base already implemented by Base.
   Public Sub Base() Implements IDerived.Base
   End Sub

   ' Valid: IDerived.Derived not implemented by Base.
   Public Sub Derived() Implements IDerived.Derived
   End Sub
End Class

No hay comentarios.:

Publicar un comentario