|
|
|
|
|
- Implementación
- Variables
- Pasar parámetros
- Componente externo
Una interfaz se utiliza para dividir los usos de características comunes a varios elementos de sus implementaciones, lo que simplifica su reutilización. Una interfaz es una lista de características disponibles, una especie de contrato ("Me comprometo a proporcionar los siguientes métodos y propiedades"). Características de la interfaz: - Una interfaz contiene una lista de prototipos de métodos y propiedades.
- Todos los métodos y propiedades son accesibles (no público/protegido/privado).
- No hay ningún elemento de implementación (ningún miembro, ningún código, ....).
Una interfaz es un tipo que se puede declarar en el código de inicialización del proyecto o en el código de declaración de un elemento, especialmente en los conjuntos de procedimientos. Observación: Las interfaces no pueden utilizarse fuera del proyecto. // Declare an interface Basket is Interface Procédure AddProduct(ProductCode) Property NumberProducts <get> END
Sintaxis
Declarando una interfaz Ocultar los detalles
<Interface name> is Interface Procedure <Procedure 1> ([<Parameters]) [: <Type of return>] Procedure <Procedure N> ([<Parameters]) [: <Type of return>] Property <Property 1> [: <Type of return>] [<Get/Set>] Property <Property N> [: <Type of return>] [<Get/Set>] END
<Interface name>: Nombre de la interfaz a declarar. <Procedure X>: Denominación de los procedimientos listados por la interfase. Estos procedimientos pueden tener uno o más parámetros y pueden devolver un valor. Tiene la capacidad de especificar el tipo de valor devuelto por el Procedure. Este tipo puede corresponder a un tipo simple (entero, real, cadena,...) o a un tipo estructurado (estructura, objeto,...). <Property Y>: Nombre de las propiedades listadas por la interfaz. Estas propiedades pueden: - devolver un valor. Tiene la capacidad de especificar el tipo de valor devuelto por el Property. Este tipo puede corresponder a un tipo simple (entero, real, cadena,...) o a un tipo estructurado (estructura, objeto,...).
- tienen atributos usados para especificar si la Property es de sólo lectura o de lectura/escritura, ...
<END>: Declaración de fin de interfaz. Observaciones Una interfaz puede ser implementada por una clase: la clase implementa todos los métodos y propiedades de la interfaz. La palabra clave "implementar" se utiliza para enlazar la interfaz y la clase. Ejemplo : InternetBasket is Class implement Basket m_ArrProducts is array of ints END
// Procedure PROCEDURE AddProduct(ProductCode) m_ArrProducts.Add(ProductCode)
// Property PROCÉDURE PUBLIC NumberProducts() RESULT m_ArrProducts..Occurrence
Un error de compilación ocurre si una clase no implementa todos los métodos o propiedades de la interfaz. Usted tiene la capacidad de declarar variables para almacenar y manipular los elementos por sus interfaces. En este caso, debe utilizar el botón '.<-'. La sintaxis es la siguiente: <VariableName> is <interface> <-... Ejemplo: // After a reconnection, retrieve the previous basket CurrentBasket is Basket <- RestorePreviousBasket()
Si el elemento real no implementa todos los métodos o propiedades, el Variable se asigna con 'Null' y no se produce ningún error. Esto permite verificar si el elemento se ha convertido en su interfaz comparándolo con Nulo.. Por el contrario, cualquier uso posterior de Variable provocará un error. Se puede usar una interfaz para escribir un parámetro de Procedure. Si un Procedure espera un parámetro "Interfaz Xxx", se puede pasar como parámetro cualquier elemento que implemente todos los Procedure s y métodos de la interfaz. Se produce un error de compilación si el elemento no implementa todos los métodos y todas las propiedades. La clase real no tiene que implementar explícitamente la interfaz. Sin embargo, todos los métodos y todas las propiedades deben ser encontrados. - Las interfaces se pueden utilizar desde un componente externo.
- Interfaces exportadas desde un componente: La interfaz no debe ser declarada en el código de inicialización del proyecto.. De hecho, en este caso, los proyectos que llaman el componente no verán la interfase.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|