miércoles, 15 de enero de 2014

Una breve descripción de "Interfaces"

Debido a que son importantes para Delphi, vamos a darle un breve vistazo a las interfaces y su aplicación.

DESCRIPCIÓN

Para empezar, una interfaz es una definición de los métodos y propiedades públicas. Las interfaces sirven como una especie de plantilla para las clases, la definición de los métodos y propiedades que una clase que implementa la interfaz debe utilizar. En ese sentido, una interfaz define un contrato que una clase debe implementar, sin definir cómo debe implementarse ese contrato.

Una de las características cruciales de una interfaz es que proporciona para el polimorfismo sin depender de ancestros comunes de clase. En otras palabras, dos clases que implementan la misma interfaz son asignación compatible con el respeto a esa interfaz, independientemente de lo que las clases que descienden de. ¿Que ventajas aporta esto respecto a una clase abstracta? Pues en este caso la definición es más limpia, nada más.

Lo anterior es de "manual" y es lo que uno tiene que saber a la hora de trabajar con interfaces.

Definición de interfaz para un artículo:
type
   IArticulo = interface
     procedure IncrementarExistencias( rCantidad: Real );
     procedure DecrementarExistencias( rCantidad: Real );
     function Facturar: Integer;
   end;
Las interfaces nunca pueden ser instanciadas.
var
  Articulo: IArticulo;
begin
  Articulo := IArticulo.Create;
end;
Al compilar nos daría el error: Object or class typed required (se requiere una clase u objeto)

Para utilizar una interfaz necesitamos implementarla a través de una clase.
 
type
  TArticulo = class( TInterfacedObject, IArticulo )
    procedure IncrementarExistencias( rCantidad: Real );
    procedure DecrementarExistencias( rCantidad: Real );
    function Facturar: Integer;


Leer mas

About Me

Nerd, Geek, estudiante, amante de la fotografía y la música, gamer y... programador.

Popular Posts

Marcos "NP" Lizarraga E.