FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Herencia e interfaces
Hola gente.
Tengo una duda ya que nunca he hecho esto antes en Delphi. Supongamos que quiero crear un componentes que hereden de TExMaskEdit pero que a su vez implemente un interface con otra propiedades. Por lo que lei para implementar una interface es necesario que herede de TInterfacedObject, pero yo en realidad necesitaria heredar de TExMaskEdit. Esto es necesariamente así? Saludos |
#2
|
||||
|
||||
Todos los TComponents implementan IInterface y esta es la interfaz de cual heredan todas las interfaces, al igual que todos los objetos heredan de TObject. La clase TInterfacedObject no es mas que un objeto que implementa este IInterface, al igual que TComponent, pero solo con la lógica básica del cual deberían heredar todos nuestros objetos que no superen en jerarquía a TComponent, que implementen interfaces.
En conclusión, como TExMaskEdit hereda de TComponent, no tendrías que tener problemas para que implementen una interfaz propia:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Hola,
Estupenda explicación Federico. |
#4
|
||||
|
||||
Hola!
Hace días que estuve leyendo sobre interfaces para comprenderlas y ver su utilidad... Por lo que estaba comprendiendo sobre ellas servirían para implementar esas herencias múltiples, para tratar objetos de forma polifórmica (como ser para una Factory, por ejemplo) y me estaba sintiendo un poco conforme con lo que veía... Pero ahora que leo este hilo, sobre todo el aporte de Federico... me quedo pensando... ¿Entonces, basandonos en el tema inicial, nadie impidería hacer esto?
¿El requisito es que se descienda de alguna clase que implemente IInterface? Ya me estoy confundiendo de nuevo Saludos, |
#5
|
|||
|
|||
Federico muchas gracias por tu respuesta.
Delphius, si yo justamente caigo en la misma confusión. Es valido entonces hacer lo que dice Delphius, verdad? |
#6
|
||||
|
||||
Cita:
Por eso si queremos crear un objeto simple, heredado de TObject que implemente una interfaz, podemos usar TInterfacedObject como parte de su linaje . Resumiendo nuevamente, como TMaskEdit es un TComponent puedes hacer exactamente lo que describes. PD: Dec, creía haberme enredado como de costumbre en la explicación
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#7
|
|||
|
|||
Cita:
Bye |
#8
|
||||
|
||||
Cita:
Pues yo venía haciendo como tu dices: heredando de TInterfacedObject para evitar darle las declaraciones. Como la ayuda dice que conviene heredar de él... pues asi le metí. Y asumí que así se debía trabajar siempre. Esto de estar leyendo de muchos lados hizo una ensalada en mi cabeza. No digas que tu no te supiste explicar, el tarado soy yo que no puso la debida atención y al hecho de leer de cualquier lado. Nuevamente gracias, evitaste que tuviera que ir al cardiologo. Saludos, |
#9
|
|||
|
|||
Gracias a todos.
Saludos |
#10
|
||||
|
||||
Cita:
Saludos, |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
interfaces | luislat40 | Varios | 2 | 23-10-2007 03:47:23 |
Interfaces en C# | YaninaGenia | .NET | 1 | 18-06-2006 05:14:48 |
Interfaces... | OscarG | OOP | 9 | 14-10-2005 13:26:57 |
Interfaces??? | uhilari | OOP | 3 | 09-02-2004 16:07:50 |
Interfaces | Legolas | Varios | 14 | 17-11-2003 14:39:07 |
|