Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problemas con herencia (https://www.clubdelphi.com/foros/showthread.php?t=29496)

adpa 24-01-2006 01:07:05

Problemas con herencia
 
Hola tod@s:

Tengo una lista genérica:
Código Delphi [-]
cLista = class(tList)
                 private
                        Incremento     : Integer; { número de elementos a incrementar el array }
                        Elementos      : Integer;
                        Primero        : array of tObject;  { lista sobre array dinámico }
                        procedure   IncrementarArray( Cantidad : integer);
                        function    Obtener ( Posicion : integer): tObject;
                        procedure   Actualizar ( Posicion : integer; Nuevo:tObject);
                  public
                       constructor Create (Incremento : Integer);
                       destructor  Destroy;override;
                       procedure   Insertar( Informacion: tObject);
                       procedure   Eliminar( Posicion : integer);
                       function    EsVacia : boolean;
                       function    Longitud : Integer;
                       property    Objetos[ Indice : Integer]: tObject read Obtener write Actualizar;
                end;

y otra que hereda de ella
cListaConsumidores = class (cLista)

y cuando intento hacer la siguiente operación
consumidor:=self.salaOcio.Objetos[1];
----Me dice que no se puede convertir de tObject a consumidor;

cConsumidor = CLASS(TObserver)

TObserver = class
public
procedure Update(const Subject: TObject); virtual; abstract;
end;

He probado ha hacer que TObserver herede de tObject pero me da el mismo error.

Hecharme una mano. Gracias

jachguate 24-01-2006 02:00:06

Hola. He editado tu mensaje para añadir la etiqueta delphi, que es de uso obligatorio al publicar trozos de código. Si no sabes como se usa, referite a la ayuda de la etiqueta code (vínculo en mi firma) o editá tu mensaje para ver lo que yo he añadido.

Con respecto de tu pregunta, a mi no me ha quedado claro en que parte del código es donde decís que te da problema, ni si es en tiempo de ejecución o de diseño.

Hasta luego.

;)

roman 24-01-2006 05:07:47

Código Delphi [-]
consumidor := cConsumidor(self.salaOcio.Objetos[1]);

Por cierto, te recomendaría ajustarte a los estándares: las clases y otro tipos de datos se prefijan con T, no con C.

// Saludos

adpa 24-01-2006 08:16:44

Hola, ya he tomado nota como se pone lo del código delphi.
Román una pregunta cConsumidor(....) hago una conversión de tipo verdad?. ¿Para ello tiene que heredar de tObject.?

Muchas Gracias.

jachguate 24-01-2006 14:51:36

En delphi, todas las clases heredan de TObject.

Al González 05-02-2006 20:03:31

¡Hola a todos!

Adpa: Te invito a que nos plantees tu caso diciéndonos cuál es el objetivo de las clases que has definido y dándonos otros detalles de contexto. Encuentro un tanto rebuscado el código que has expuesto.

Gracias.

Al González. :)


La franja horaria es GMT +2. Ahora son las 09:11:01.

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