FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
referencia circular
Saludos, a ver, antes de nada decir que soy un poco novato en la POO.
Bueno, tengo dos clases, cada una definida en una unidad distinta. El caso es que cada una de ellas debería contener una referencia a la otra en la declaración, por lo que tengo que poner en uses la unidad correspondiente, y me dice que que hay referencia circular entre ambas unidades. Hasta ahora para evitar esto lo que había venido haciendo era usar el uses de implementation, así se evitaba lo de la referencia circular, pero ahora no puede ser. Por ejemplo, para que quede más claro: En la primera unidad: Y en la segunda unidad Bueno, muchas gracias por adelantado, a ver si me pueden ayudar que es bastante urgente. Última edición por melon fecha: 16-04-2006 a las 01:35:14. |
#2
|
||||
|
||||
Pues no, en Delphi no se puede hacer esto. Una forma de darle la vuelta al problema podría ser insertar clases abstractas en una unidad común:
Entonces las clases TClase1 y TClase2 las derivas de éstas, cada una ya en su propia unidad:
Las clases abstractas en la unidad común simplemente declaran los métodos a usar con las directivas virtual y abstract de manera que no requieres poner nada en la sección implementation y entonces te queda una unidad bastante pequeña. La implementación real se hace en unidades separadas manteniendo, hasta cierto punto, la separación de clases que originalmente se quería. Cita:
// Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como puedo librarme de la referencia circular? | Lionheart | OOP | 2 | 13-12-2005 13:58:33 |
lo que necesito es ayuda en el TDA de una lista doblemente enlazada circular | program_tda | Varios | 12 | 17-02-2004 08:45:35 |
variables por referencia | shaktale | Varios | 2 | 11-06-2003 12:24:59 |
Problema con referencia foranea ! | erickperez6 | Firebird e Interbase | 10 | 12-05-2003 17:52:21 |
|