Compartir a través de


Interfaces en el sistema de tipos común

Actualización: noviembre 2007

Una interfaz define un contrato que especifica una relación de lo que se puede hacer o una relación de lo que se tiene. Las interfaces se utilizan a menudo para implementar una funcionalidad, como comparar y ordenar (interfaces IComparable<T> e IComparable), comprobar la igualdad (interfaz IEquatable<T>) o enumerar los elementos de una colección (interfaces IEnumerable<T> e IEnumerable). Las interfaces pueden tener propiedades, métodos y eventos, que serán miembros abstractos; es decir, aunque la interfaz define los miembros y sus firmas, deja que el tipo implemente la interfaz para definir la funcionalidad de cada miembro de la interfaz. Esto significa que cualquier clase o estructura que implemente una interfaz debe proporcionar definiciones de los miembros abstractos declarados en la interfaz. Una interfaz puede requerir que cualquier clase o estructura que implemente una interfaz implemente también otras interfaces.

A las interfaces se les aplican las restricciones siguientes:

  • Una interfaz se puede declarar con cualquier tipo de accesibilidad, pero los miembros de la interfaz deben tener todos accesibilidad pública.

  • No se puede asociar permisos de seguridad ni a la interfaz ni a sus miembros.

  • Las interfaces no pueden definir constructores

  • Las interfaces no pueden definir campos.

  • Todas las propiedades, métodos y eventos abstractos definidos en una interfaz deben ser miembros de instancia, no pueden ser miembros estáticos.

Cada lenguaje debe proporcionar reglas para asignar una implementación a la interfaz que requiere el miembro, ya que varias interfaces pueden declarar un miembro con la misma firma y esos miembros pueden tener implementaciones independientes.

Vea también

Conceptos

Miembros de tipos

Permisos de seguridad

Otros recursos

Sistema de tipos comunes