Herencia vs Composición
#1
Escrito 17 julio 2010 - 11:29
http://www.slideshar.../4-polimorfismo
Saludos
#2
Escrito 18 julio 2010 - 02:58
¿Cuál es el objetivo de esta diapositiva? ¿Qué esperas de este hilo? No recuerdo ahorita tu nombre (ando falto de memoria)... ¿Tu eres el autor?
Me he tomado el tiempo de escribir algunas observaciones. Son muchas, y largas. Para no extender demasiado el hilo preferí redactarla en word y subir el archivo aquí.
Considero que hay algunas observaciones y correcciones a tener en cuenta. Empezó bien, pero a medida que se entraba en el tema se empezó a perder el hilo. Y quedaron muchas cosas en el tintero... lo más importante: no se termina de esclarecer la diferencia entre asociación, agregación y composición. Da a entender que una cosa es herencia y otra es composición... que debe optarse por una u otra.... luego se intenta "arreglar" cierta confusión añadiendo un "sin embargo" y termina sacando una conclusión contraria a lo previamente dicho.
Eso termina confundiendo.
No soy experto en el tema, pero creo que podría mejorarse.
Podría hablarse de una alternativa entre si heredar o aplicar composición cuando se presenta el concepto del patrón Adaptador (Adapter, en inglés) ya que hay dos formas o alternativas de encarar al patrón: Adaptador de Clase (mediante herencia, también conocido como Adaptador por referencia o Adaptación por referencia) y Adaptador de Objeto (mediante composición, también llamado Adaptador por composición)
Zarko habla de una tercera posibilidad... en donde se combina ambas técnicas... se podría decir que es "intermedia" Formalmente no se reconoce esta posibilidad como una tercera alternativa, ya que se trata de un caso particular de Adaptar de Clase con polimorfismo.
Para mayor referencia sobre el patrón aconsejo la lectura de:
UML y patrones. Una Introducción al Análisis y Diseño Orientado a Objetos y al Proceso Unificado. Craig Larman.
http://delphi.about....elphi_oop22.htm y delphi_oop23.htm
http://delphi.about....phiOOChap10.zip
http://delphi.about..../CodeChap10.zip
http://es.wikipedia....i/Adapter_(patrón_de_diseño)
http://en.wikipedia....dapter_patttern
http://www.programac.../joa_patrones4/
Espero no causar molestias y que estas observaciones sean bien recibidas, sea quien fuese quien las lea.
Saludos,
Archivos adjuntos
#3
Escrito 19 julio 2010 - 02:51
¡No quiero ser el único que de los palazos! ¿O es que hay miedo de que critique demasiado?
Saludos,
#4
Escrito 19 julio 2010 - 05:05
¿Nadie más quiere aportar algo?
¡No quiero ser el único que de los palazos! ¿O es que hay miedo de que critique demasiado?
Saludos,
No amigo, es que en estos menesteres quein mejor que usted
Salud OS
#5
Escrito 19 julio 2010 - 05:09
¿Nadie más quiere aportar algo?
¡No quiero ser el único que de los palazos! ¿O es que hay miedo de que critique demasiado?
Saludos,
Amigo, después de semejante respuesta tan extensa y sobre todo documentada, quién se atreve a decir pío ???
Yo no
O... si lo prefieres... no tengo más que decir, lo has dicho todo perfecto
Saludox !
#6
Escrito 19 julio 2010 - 06:39
Lo que pasa es que me estoy metiendo a la plataforma de Netbeans en el cual las pantallas no tiene herencia visual como en delphi y en los foros que e encontrado preguntas de como usar herencia visual en netbeans siempre dicen que mejor se use composición.¿Cuál es el objetivo de esta diapositiva?
Solo quería ver si hay por aquí gente que opine igual que los de netbeans que dicen que la herencia visual es mala y que en su lugar mejor se debe usar composición¿Qué esperas de este hilo?
No soy el autor es que buscando información en internet de herencia vs composición fue lo que encontre en español.¿Tu eres el autor?
También di con esta pero esta en ingles http://www.javaworld...techniques.html
Saludos
#7
Escrito 19 julio 2010 - 09:02
Pues no se si soy el mejor, sólo puedo decir que tras casi 6 años de estudiar el paradigma y casi 5 en ponerlo en práctica alguito debo haber aprendido.No amigo, es que en estos menesteres quein mejor que usted
El Mejor no se... pero si o suficiente confiado y seguro de poder opinar. ¡Si hasta superé el reto de Al!
Bueno lo de extensa se debe a mi falta de poder de síntesis (creo debo empezar desde ahorita a ensayar para cuando exponga frente a tribunal... ¡se me van a dormir! )
Amigo, después de semejante respuesta tan extensa y sobre todo documentada, quién se atreve a decir pío ???
Yo no
Lo de que alguien se atreva a decir pio... ¡Pero es que eso quiero! No me agrada mucho terminar así, quedando tan suelto y airoso; y solito.... Donde resulto ser el único que opina. Es que no pareciera ser un debate... sino una sentencia a la guillotina.
¿Seguro?O... si lo prefieres... no tengo más que decir, lo has dicho todo perfecto
¿Ni una crítica u observación?. Yo se que sé, pero también se que no se todo... me gustaría saber y leer la opinión de ustedes sobre estos temas.
Saludos,
#8
Escrito 19 julio 2010 - 09:24
Hola axesys,Hola Marcelo
Lo que pasa es que me estoy metiendo a la plataforma de Netbeans en el cual las pantallas no tiene herencia visual como en delphi y en los foros que e encontrado preguntas de como usar herencia visual en netbeans siempre dicen que mejor se use composición.
Ha... Allí está... .... .... allí esta lo malo: ¡Yo desconozco NetBeans! Sinceramente no tengo NPI de Java.
En términos abstractos y generales, el concepto de composición hace referencia a que una clase "contiene" una o muchas clases a las que se de le denominan Partes. La clase que las contiene se llama Compuesto.
Estas clases pueden o no ser, clases diseñadas para algún elemento visual... Composición visual (como para adoptar cierto nombre) y compararlo con la herencia visual me es un tanto difícil de asimilar. Lo más "gráfico" que se me ocurre como composición visual es el uso de por ejemplo Los Forms y Frames. El frame es la parte, y el Form el compuesto. Y a su vez, el Frame es el Compuesto y los elementos que estén dentro de éste (botones, etc) serán sus Partes.
En Delphi uno puede diseñar Frames y reutilizarlos, y a los Forms como tu ya sabes.
Ahora bien, extrapolarlo a Java me es imposible debido a mi completa ignorancia de como se trabaja en él.
Gracias por aclarar tus objetivos respecto al hilo... yo me estaba imaginando que le estaba dando de palos a un amigo de DA. ¡Me quitaste un peso de encima! Ya no es necesario que mandes los matones amigoSolo quería ver si hay por aquí gente que opine igual que los de netbeans que dicen que la herencia visual es mala y que en su lugar mejor se debe usar composición
No creo que la herencia visual sea mala. Todo lo contrario: me parece una gran característica. Una herramienta poderosa si uno la utiliza bien.
Como he dicho: desconozco ese entorno y el lenguaje... Seguramente algunos motivos tendrán esos desarrolladores para sugerir eso.
Ahora en lo personal me extraña que no exista la herencia visual en Java/NetBeans... conociendo que es quizá el LOO más puro resulta muy extraño que no tenga herencia visual. Esto me lleva a pensar a que quizá el concepto de composición al que se refieren no es necesariamente al concepto de Composición que yo conozco. Es probable que a algo propio de Java/NetBeans se le llame composition (o algo similar) y justamente ese nombre choca con el concepto de composición (Compuesto/Partes).
Nuevamente, ¡piuff! Chau miedo.No soy el autor es que buscando información en internet de herencia vs composición fue lo que encontre en español.
Yo aborrezco el inglés pero le tengo que reconocer que las fuentes más confiables y seguras están escritas en ese idioma. Creo que deberías optar más por el inglés, para estar más seguros.
Tendría que ponerme a ver lo que hay allí sobre el tema para estar un poquito más al tanto. Lamentablemente ya tengo unas hojas en inglés que me están matando neuronas.También di con esta pero esta en ingles http://www.javaworld...techniques.html
Saludos
Se que mucho no te puedo ayudar amigo Disculpa no poder aclararte más la duda.
Saludos,