Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2005
omar_e_rc omar_e_rc is offline
Miembro
 
Registrado: mar 2005
Posts: 32
Poder: 0
omar_e_rc Va por buen camino
Interfaces en Delphi

Supongase que tengo una interface sobre una clase y mi clase es una clase abstracta. Como hago para tener 2 funciones con el mismo nombre ya que la directiva "override" no me funciona y me causa error. En ambos casos.


Código:
 type 
TVisitaListaObj = function(Dato1, Dato2: Pointer): Boolean of object;
TVisitaLista = function(Dato1, Dato2: Pointer): Boolean;
 
//Interface de Lista
ILista = interface(IUnknown)
['GUI']
	procedure Eliminar(Data: Pointer);
	procedure Insertar(Data: Pointer);
	function Buscar(Data: Pointer): Boolean;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override;
end;
 
//Clase Abstracta de Lista
TLista = class(TInterfacedObject, ILista)
private
	FFuncionComparacion: TComparacionLista;
public
	constructor Create(F: TComparacionLista);
	procedure Eliminar(Data: Pointer); virtual; abstract;
	procedure Insertar(Data: Pointer); virtual; abstract;
	function Buscar(Data: Pointer):Boolean; virtual; abstract;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override; virtual; abstract;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override; virtual; abstract;
end;
 
TListaDinamica = class(TLista)
private
	FL: TPNodoLista;
	function Compara(Dato: Pointer; var ARef): Boolean;
	function Encuentra(Dato: Pointer; var ARef): Boolean;
public
	constructor Create(F: TComparacionLista);
	procedure Eliminar(Data: Pointer); override;
	procedure Insertar(Data: Pointer); override;
	function Buscar(Data: Pointer):Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override;
end;

Última edición por omar_e_rc fecha: 27-03-2005 a las 00:51:16. Razón: Error en Codigo
Responder Con Cita
  #2  
Antiguo 27-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No es override sino overload.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:27:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi