Está en la página 1de 13

• Un objeto de interface, o simplemente interfaz, define los métodos

que pueden ser implementados por una clase.

• Las interfaces se declaran como las clases, pero no pueden ser


directamente instanciadas y no tienen sus definiciones de métodos
propios.

• Una variable de tipo de interfaz puede hacer referencia a un objeto


cuya clase implementa esa interfaz; Sin embargo, sólo los métodos
declarados en la interfaz pueden ser llamados usando este tipo de
variable.

• Las interfaces ofrecen algunas de las ventajas de la herencia múltiple


sin las dificultades semánticas.
• Una declaración del tipo de interfaz tiene la forma:
type interfaceName = interface (ancestorInterface) [‘{GUID}’] memberList end;

• En muchos aspectos, las declaraciones de interfaz se asemejan a las


declaraciones de clase, pero las siguientes restricciones aplican:

• La lista de usuarios puede incluir sólo los métodos y propiedades. Los campos no
están permitidos en las interfaces.

• Puesto que un interfaz no tiene ningún campo, los especificadores de


propiedades read y write deben ser métodos.

• Todos los miembros de una interfaz son públicos. Los especificadores de visibilidad
y especificadores de almacenamiento no están permitidos. (Sin embargo, una
propiedad de array puede ser declarada de forma predeterminada).

• Las interfaces no tienen constructores ni destructores. No pueden ser


instanciadas, excepto a través de clases que implementan sus métodos.

• Los métodos no pueden ser declarados como virtual, dynamic, abstract, o


override. Puesto que las interfaces no ejecutan sus propios métodos, estas
designaciones no tienen ningún significado.
• Una interfaz, como una clase, hereda todos sus métodos de
ancestros.

• Las interfaces, a diferencia de las clases, no implementan métodos.

• Lo que una interfaz hereda es la obligación para implementar


métodos, una obligación que es pasada a cualquier clase que
soporte la interfaz.

• La declaración de una interfaz puede especificar una interfaz de los


ancestros.

• Si no se especifica un ancestro, la interfaz es un descendiente directo


de IInterface, que se define en la unidad System y es el ancestro de
todas las otras interfaces.
• La convención de llamada predeterminada para los métodos de
interfaz es register.

• las interfaces compartidas entre los módulos (sobre todo si están


escritos en diferentes lenguajes) deberían declarar todos los
métodos con stdcall.

• En win32, puede usar safecall para poner en práctica los métodos de


interfaces duales.
• Las propiedades declaradas en una interfaz son accesibles sólo a
través de expresiones del tipo de la interfaz; que no se puede
acceder a través de variables de tipo clase.

• las propiedades de la interfaz son visibles sólo dentro de los


programas donde se compila la interfaz.

• En una interfaz, las propiedades read y write deben ser métodos


especificadores, ya que los campos no están disponibles.
• En Delphi Projects seleccionar Console Aplication
• Código del programa
• Declaración de interface y clase
• Implementaciones
• Parte principal del programa
• Guardar el proyecto File->Save All

También podría gustarte