Pero con Traits no tenes todas las ventajas de la herencia porque
(hasta donde me acuerdo) no podes tener traits que tengan colisiones
de mensajes, con lo que no es posible replicar lo que se hace con
herencia... por ejemplo reimplementar un metodo de la superclase...
como por ejemplo, en un caso extremo,

aMessage

  super somethingElse


que a veces es muy util.

Andres.


2008/9/12 Guillermo Schwarz <[EMAIL PROTECTED]>:
>
>
> 2008/9/12 GallegO <[EMAIL PROTECTED]>
>>
>> Guillermo Schwarz escribió:
>> >
>> > ok, pero ¿tiene base lo que dices?
>> >
>> > Por ejemplo, ¿leìste el paper de Snyder de 1986 (22 años atràs) que lo
>> > indica y explica en detalle?:
>> > http://www-plan.cs.colorado.edu/diwan/class-papers/snyder.pdf
>> Perdon. Pido perdon por no haber leido ese paper, me baso solamente en
>> mi experiencia.
>> ¿Pero, quién es ese tipo? Busque así nomas referencias en Internet y no
>> encontré nada. Bueno, si vale la pena saber quien es me gustaría alguna
>> referencia.
>> Por ejemplo, puede ser que yo tenga la misma base que ese Snyder jajaja,
>> aunque no creo porque él publica papers!
>> Aparte, no estoy de acuerdo con lo que dice ese documento. Como decía
>> Andrés Vallould: protegerse. Porque arranca con el tema que charlabamos
>> y termina pidiendo mecanismos para restringir el acceso a variables de
>> instancia definidas en las superclases.
>
>
> Creo que ese es un grave error de Smalltalk, permitir el acceso a las
> variables de instancia de las superclases.
>
> Como decían de C++: "In C++ only friends can access your private parts" de
> http://www.softpanorama.org/Lang/Cpp_rama/humor.shtml
>
>>
>> >
>> > Creo que estamos hablando de lo mismo, pero por alguna razòn haces una
>> > distinciòn irrelevante. El hecho de que en Smalltalk el sistema estè
>> > ejecutando mientras programas, creo, es totalmente irrelevante.
>> >
>> >
>> Puede ser desde el punto de vista técnico. Para mi la herencia es una
>> herramienta más del sistema que me ayuda a desarrollar y por lo tanto no
>> tiene que ver con los objetos, quizás se me hace difícil explicarlo
>> correctamente. No se si existe una similitud con la forma de desarrollar
>> en Self en esto que digo ¿es asi?
>
>
> El asunto está en que herramienta o no, la herencia tiene un proósito que es
> no repetir código, lo cuál supongo que estamos todos de acuerdo en que es
> algo loable, probablemente con la excepción de los programadores en VB y en
> SQL.
>
> Por otro lado la encapsulación permite mantener los invariantes de modo que
> también es loable.
>
> Luego llegamos a la contradicción que no podemos tener ambas a la vez en
> todo su esplendor.
>
> Y de ahí aparece traits como un elemento de composición que permite eliminar
> la herencia y reemplazarla por un concepto igualmente poderoso, más fácil de
> usar y que no se contradice con la encapsulación...
>
> Saludos!
>
>>
>> Saludos
>>  GallegO
>> >>
>

--~--~---------~--~----~------------~-------~--~----~

To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]

http://www.clubSmalltalk.org
-~----------~----~----~----~------~----~------~--~---

Responder a