FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Polimorfismo con diferentes parámetros
Hola,
Hasta ahora había realizado mis programas en base a los componentes que se dispone en las petañas de Delphi. Ahora voy profundizando un poco en la creación de Clases. Voy estudiando ejemplos de "La Cara Oculta de Delphi" y "Ejemplos de Fontela" como novato me llegan un montón de dudas. En el Foro he buscado y he encontrado muchos ejemplos pero ninguno como la siguiente pregunta:
Este es un ejemplo que saqué de Fontela (lo he reducido). Lo que no entiendo es lo siguiente: - ¿Pueden los constructor Create override declararse de esa forma? es decir si se fijan en las clases hijas se aumenta una que otra cosa (VARÍAN los Parámetros). - ¿Cual sería la implementación para el caso de ser afirmativo mi anterior pregunta? - La misma pregunta para el caso del procedure Dibujar, ahí creo que no hay problema con los parámetros (no tiene), pero ¿que tal si tuvieran diferentes parámetros las clases hija, no habría problema en el polimorfismo para el caso del procedure Dibujar? Bueno, me está faltando encontrar en la Red EJEMPLOS SENCILLOS pero COMPLETOS de Polimorfismo y Herencia, para comprender. Última edición por Deiv fecha: 23-11-2006 a las 22:53:23. |
#2
|
||||
|
||||
Yo lo veo así: si los parámetros difieren, entonces ya no estamos hablando de polimorfismo. La idea del polimorfismo es que puedan usarse los métodos de un objeto de manera genérica sin necesiad de saber la clase exacta del objeto. Yo puedo poner
Persona.Saluda; y Persona saludará según sea francés, inglés, español o árabe. ¿Cómo podrías llamar de manera genérica, polimórfica, a un método si los parámetros difieren en cada derivado? // Saludos |
#3
|
|||
|
|||
Creo que es lógico, y hay mucha razón, sobre el ejemplo que puse no se si entendí mal, pero en este momento estoy en un Ciber, para mañana traigo el ejemplo completo del que les hablé.
Entonces me gustaría saber la explicación de ese ejemplo del porqué difieren los parámetros. De repente estoy entendiendo mal, pero como dije: hice una reducción de código solamente. ¿No conoceis donde consigo ejemplos (código) sencillos y completos sobre herencia y polimorfismo? Última edición por Deiv fecha: 23-11-2006 a las 23:10:33. |
#5
|
||||
|
||||
Así es, para eso sirve la directiva overload, pero ya no es polimorfismo.
// Saludos |
#6
|
||||
|
||||
Cita:
Puedes sobreescribir un método para ampliar, reducir o modificar su comportamiento, pero por definición el número de parámetros debe ser el mismo y del mismo tipo. EDITO: Llegué tarde... Eso sí que tiene sentido (overload); En ese caso sí tiene sentido que los parámteros sean diferentes, es más, es que es justo para eso.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
Ayer preguntaba sobre polimorfismo y tenía una confusión con Sobrecargado (overload). Adjunto un archivo ZIP, donde hice las reducciones correspondientes de las hojas originales para poderlo comprimir en este mi post.
a) Si pudieran aclararme por favor, en la Pag.1 la Procedure Inicializar, no es un método virtual como veo, entonces ¿como debo entender ese método en las clases hijas? ya que llevan diferentes parámetros y una implementación interesante. b) La procedure Dibujar, no sé si el texto está mal transcrito por el autor, pero no veo virtual ni override en las clases hijas? c) En el otro ejemplo, Pag.3 y Pag.5 el CONSTRUCTOR Create tiene diferentes parámetros tanto la Clase Madre como la hija, ¿esto se puede? De repente en vuestras palabras llegue a tener una mejor explicación de lo que estoy leyendo y no voy comprendiendo algunos aspectos, les agradeceré mucho. Y mi última pregunta: d) Cual es la forma más óptima de trabajar, utilizar Polimorfismo o Sobrecargado? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Parametros Opcionales no Parametros por defecto | Velia | Varios | 7 | 19-08-2006 15:18:42 |
Polimorfismo en Delphi5 | liriko | OOP | 36 | 19-12-2005 18:19:18 |
Polimorfismo y sobrecarga | davitcito | Varios | 3 | 15-04-2005 19:56:11 |
Novato, ayuda con polimorfismo por favor | davitcito | Varios | 4 | 01-04-2005 01:32:28 |
Diferentes alineaciones para diferentes parrafos | ciscu | Servers | 0 | 15-03-2004 10:36:12 |
|