FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Delphi no tiene Herencia?
Hola amigos hay un articulo que me a confudido un poco , estoy conociendo Delphi y se que una de sus caracteristicas es la Herencia, pero este Articulos dice que Delphi no tiene Herencia , pueden explicar un poco mejor el tema por que se los voy a agradecer bastante.
les doy el link http://guille.costasol.net/clases/herencia.htm |
#2
|
||||
|
||||
Me niego a leer el artículo, pero te garantizo que Delphi SI TIENE HERENCIA... lo que no tiene es herencia múltiple, aunque esto puedes ser subsanado (no del todo) con la utilización de interfaces.
Código:
TClase = class; ... TClaseHeredada = class(TClase); ... Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
¿ el hecho de que delphi no posee herencia multiple lo hace mas o menos potente con respecto a los otros lenguajes ?
gracias |
#4
|
||||
|
||||
A ver, no se si esto es una broma o qué, pero en el título del artículo, con letras pero que bien grandes pone "Cómo simular la herencia en Visual Basic".
En ¡¡VISUAL BASIC!!, no en Delphi. Delphi siempre ha tenido herencia, desde los tiempos del windows 3.11, imagínate si hace tiempo. Yo manejé visual basic, en las versiones 4 y 5 y no, efectivamente no tenía herencia. El .NET si que tiene, pero es que le han hecho tal lavado de cara al lenguaje que es que no parece el mismo, para dolor de cabeza de los muchos programadores de visual basic, que han tenido que aprender casi un nuevo lenguaje para utilizar el visual studio .NET. Por cierto, que desde que descubrí delphi no he vuelto casi a tocar el visual basic y no dejo delphi y retorno al visual ni que me den latigazos. Aprovechando para comentar: conozco a muchos que han cambiado visual basic -> delphi, pero no conozco a nadie que haya hecho el cambio delphi -> visual basic, eso sería ir para atrás, como los cangrejos. Bueno, a ver si se es un poco más serio al poner un hilo en el foro, hombre. Primero revisa el título del artículo referenciado. Y ¡por Dios!, decir que delphi no tiene herencia es como decir que Aznar no tiene bigote, o que los cañones no tienen agujero (homenaje a Gila aquí) |
#5
|
||||
|
||||
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#6
|
||||
|
||||
Hola,
Cita:
Cito: "... La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo hay que decirlo... je); al menos si lo miramos desde el punto de vista de los programadores de C++ o de los puristas de la OOP. ..." Comento: Curiosamente los "puristas de la POO" no tienen a C++ como un lenguaje "puro OO". De todas formas, hablando sobre el asunto de la herencia, o el autor del artículo se ha equivocado al citar a Delphi indicando que no "tiene herencia", o no conoce Delphi. Cita:
Saludos. Última edición por kinobi fecha: 21-08-2003 a las 18:03:14. |
#7
|
|||
|
|||
Es cierto lo que dice kinobi , yo en ningun momento he asegurado que Delphi no posee Herencia, lo que me ha hecho dudar es la seguridad del articulo con que se dice que Vb y Delphi no poseen Herencia y que solo C++ lo tiene, es por eso que recurro a Uds que son un poco mas entendidos en el tema para que me expliquen con mayores detalles, por que se atreve a decir tal cosa si no conoce delphi. he leido el Articulo y me sorprendio la seguridad del autor, yo tambien programo en VB y definitivamento me quedo con Delphi al momento de elegir cualquier RAD. ahora creo que despues de todo el revoloteo , creo que el autor del rticulo se equivoco , por que he encontrado documentacion de Ian Marteens, en su Libro (la cara oculta de delphi 4) sobre la herencia simple y la herencia multiple, y aunque esta claro que son dos temas que no se van a poner de acuerdo nunca, creo que el autor del articulo se baso en las diferentes herencias para decir eso, y sin conocerlas de verdad.
Bueno Ahora con respecto respecto al bigote de Aznar creo que se veria mejor sin Bigote, por lo menos le quitaria 10 Años |
#8
|
||||
|
||||
Hola,
Cita:
Saludos. Última edición por kinobi fecha: 21-08-2003 a las 18:37:23. |
#9
|
||||
|
||||
Yo le he enviado un mail al webmaster para que me fundamente ese criterio... dudo recibir respuesta alguna.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#10
|
||||
|
||||
¿Quien es Aznar?
__________________
Saludos desde la tierra del tequila y las mujeres hermosas |
#11
|
||||
|
||||
Cita:
http://www.la-moncloa.es/web/pg01.htm Saludos. |
#12
|
|||
|
|||
Cita:
gracias Esau |
#13
|
|||
|
|||
Hola a todos.
El prenda este es un crack: Cita:
...Respecto al tema de este hilo de si herencia simple o múltiple, sólo un detalle: los nuevos lenguajes de programación orientados a objetos que han aparecido (Java, C#, VB.NET e incluso Delphi) utilizan el modelo de herencia simple. Algo significará esto... SalU2
__________________
Una cosa es una cosa, y otra cosa es otra cosa... |
#14
|
||||
|
||||
Bueno, aquí viene el la respuesta del autor...
Este es el mail que yo escribí Cita:
Código:
hola,Los "fundamentos" del porqué dije eso hace 5 años... ni me acuerdo... Pero en el párrafo "aclaro" que al menos desde el punto de vista de los "puristas" de la OOP. La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo hay que decirlo... je); al menos si lo miramos desde el punto de vista de los programadores de C++ o de los puristas de la OOP. Con tanto tiempo, ya no recuerdo en qué me basé para decirlo, pero seguro que en algún sitio "alguien" dijo algo...Nos vemos. Guillermo -------------- Microsoft VB MVP desde 1997 Te invito a mi sitio dedicado al VB y más... http://guille.costasol.net/ http://www.mundoprogramacion.com/ Buejo.. ¿Alguien quiere redactar explicación del porque Delphi si tiene herencia? ... Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#15
|
||||
|
||||
Hola,
Cita:
"... La herencia define una relación entre clases donde una clase comparte (mediante mecanismos de reutilización de código) la estructura (datos, atributos, ...) y/o comportamiento (métodos, acciones, ...) con otra o más clases ..." (*) -- Object Oriented Technology [http://disc.cba.uh.edu/~rhirsch/spring97/lam1/hope.htm] (*) traducción y adaptación libre Desde ese punto de vista:
Claro, que después de ver las explicaciones del autor, me temo que no tiene importancia lo que se pueda argumentar; siempre habrá "algún sitio" donde "alguien (un purista de la OOP) diga algo" que eche por tierra el argumento. Saludos. Última edición por kinobi fecha: 22-08-2003 a las 09:11:02. |
#16
|
||||
|
||||
Que verguenza La respuesta del tal Guille....
Aun cuando haya sido hace mucho tiempo, si uno se va a mater a escribir un articulo sobre algun tema específico, debe conocer alguito del tema... y preferiblemente dominarlo... si ese tal guille hubiese escrito el articulo (hace 5 años) y luego se hubiese dedicado a hacer pan... pues es comprensible, dejo el área de sistemas y se dedico a otra cosa y por eso se le olvido.... Pero el vive en el mundo de los sistemas... es obvio que el no conoce delphi.... y no tiene idea de lo que es herencia... o si no no tendria que ponerse a pensar "¿de donde fue que copie ese fragmento del articulo?... bueno, alguien escribio algo de eso en la red...." Se nota a leguas que es un COPY/PASTE de otro articulo. Y soslaya la explicacion de por que no existe herencia en delphi con un comentario sarcastico que solo esconde su ignorancia: ".....(aunque no me gusta meter cizaña, todo hay que decirlo... je);.... " bueno... en fin, si escribio ese articulo hace 5 años y no recuerda que es herencia.... es comprensible... en Visual no saben que es eso... hasta ahora, pues las cosas van a cambiar con .NET. ahora como que si les va tocar programar en serio....(je, je) Saludos... |
#17
|
||||
|
||||
He extraído un par de fragmentos, que denotan el nivel del artículo:
...lo cierto es que Visual Basic no tiene herencia... y no me refiero a que no sigan apareciendo nuevas versiones de este lenguaje... (Quiero creer que se trata de un chascarrillo) ...Veamos lo que se puede hacer con el C++, al menos en la forma básica de la herencia, que es la que mi "coco" llega a entender... (Este puede ser el problema que estamos discutiendo) una clase "heredada" de otra clase... hereda todas las características de la clase base, pero permite adaptarse a sus propias características... ¿? (Lo interesante de este fragmento, son los signos de pregunta que a mi entender, el autor no entiende lo que escribió) ...Siempre y cuando la clase cCircle dispusiera de sus propios métodos Show, MoveTo y Hide. Pero si cCircle "hereda" estos métodos de la clase cPoint y queremos que sea casi una herencia real, el Visual Basic no nos permitiría usarla así... ¿Más complicado? Si. Entonces... mejor sin herencia... Bueno... nada que decir... ...vamos a tratar un poco el tema del polimorfismo, otra de las características de la programación orientada a objetos y que es la que el Visual Basic usa para simular la herencia, aunque no sea eso la herencia, pero... (¿¿Alguien puede explicarme como VB soporta polimorfismo sin soportar herencia??... No llamemos polimorfismo a la gran desventaja que tiene VB de no ser estricto con los métodos y tipos de datos) Código:
Private Sub Command1_Click() Dim Dummy As Object Dummy.HacerCaca End Sub Bueno.. me he cansado, espero no haber sido demasiado crítico, pero me parece que este hilo pertenece al foro Humor y no a OOP... Recomiendo leer este hilo donde creo que mi mensaje deja en claro porqué este muchacho dijo que Delphi no tiene herencia.. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#18
|
||||
|
||||
Buenas,
Estoy completamente de acuerdo con lo que decís, es inútil intentar discutir con alguien que se desmerece solito. Sólo queria aportar un dato. En mi pasado oscuro trabajé con VB (aún tengo pesadillas en las que vuelvo a él) y os puedo asegurar que el tal Guille es algo menos que una eminencia de la red en el lenguaje, su web seria, exajerando, algo así com la de torry para nosotros, o por lo menos lo era hace unos años.
__________________
E pur si muove |
#19
|
|||
|
|||
No comment sobre ese artículo, no lo he acabado de leer es mu largo. Sólo espero heredar yo de mi padre lo mismo que heredan mis componentes de sus ancestros.
Pero yendo al tema importante, quien quiera afeitar a Aznar, adelante... http://www.biterror.bravepages.com/ libre de virus Saludoxxx Última edición por bitERROR fecha: 28-08-2003 a las 04:14:35. |
#20
|
||||||||
|
||||||||
Recién me he dado cuenta que Guille ha respondido a lo expuesto en este hilo:
Cita:
Gille: Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Los programadores en Delphi justificamos la falta de herencia múltiple con el uso de interfaces, cuando en realidad no existe herencia múltiple, lo que si existe es herencia múltiple de interfaces. Para muchos programadores, en los cuales me incluyo, la herencia múltiple trae mas problemas que soluciones, para otros no (sobre gustos…). Ambos casos de polimorfismo en VB, a mi criterio, no son del todo ciertos pues para que exista polimorfismo de clases debe existir el concepto de la herencia, pues de otra manera no existe la clase polimórfica, particularmente no me gusta el concepto de “late binding” o “dynamic binding” pues suele llevarnos a producir errores de sintaxis que solo se producirán en tiempo de ejecución y esto no es solo para VB, y destaco que el uso de interfaces, puede ayudarnos a escribir código que evite este problema y que “simule” polimorfismo y herencia. Digo “simule”, porque lo que obtenemos es herencia de interfaces, e interfaces polimórficas. (No de Clases). Digamos, que en la práctica si podré notificar el mismo mensaje a través de un método a objetos de diferentes tipos, heredados de la misma interface. Sin discutir si es polimorfismo o no, es claro que tenemos la misma desventaja que en la supuesta “herencia múltiple” de Delphi: Estamos obligados a implementar todos los métodos, cuando en el polimorfismo de clases no es así y en la herencia múltiple tampoco. Cita:
Por otro lado, y esto es una duda personal: Ahora que VB.NET es un lenguaje orientado a objetos… ¿sigues pensando lo mismo de la POO? Creo haber sido claro en mis conceptos, cualquier duda aquí estaré…. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|