[OT] La Wikipedia dice que Ruby soporta Po limorfismo ¿?¿

Hola, nuestra Wikipedia dice que:

“Ruby tiene tipificado dinámico, y soporta polimorfismo.”

Que yo sepa esto no es cierto: Ruby no tiene polimorfismo.
Tiene herencia normal y “herencia múltiple” mediante mixins, pero no
polimorfismo.

O sea, si en una clase defines el mismo método 2 veces con distinto
número de
parámetros, la segunda definición se come a la primera y es la única que
existe. Comprobadísimo.
Incluso si incluyes varios módulos en una clase conteniendo un método de
igual
nombre, sólo se puede acceder al método definido en último lugar
(reemplaza a
los anteriores).

¿O me he perdido algo?

2008/3/14 Iñaki Baz C. [email protected]:


Iñaki Baz C.


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Hay varios tipos de polimorfismo, el que hablas tú es polimorfismo de
funciones (también se llama sobrecarga de funciones, function
overloading), mientras que posiblemente la Wikipedia se refiere a
polimorfismo de tipos, que Ruby sí tiene, ya que puedes tratar a
subclases de una clase padre utilizando la interfaz de esa clase.

El Viernes, 14 de Marzo de 2008, Daniel R.
Troitiño escribió:

Hay varios tipos de polimorfismo, el que hablas tú es polimorfismo de
funciones (también se llama sobrecarga de funciones, function
overloading), mientras que posiblemente la Wikipedia se refiere a
polimorfismo de tipos, que Ruby sí tiene, ya que puedes tratar a
subclases de una clase padre utilizando la interfaz de esa clase.

Vale, puede ser, estaría mejor si hubiesen especificado eso.

Gracias por la
aclaración.

Y la sobrecarga de funciones no la requiere porque no es fuertemente
tipodo, o sea def suma(a,b) puede aceptar strings, numeros, chars, etc.
Con
respecto a las funciones de clases padre se puede usar super pasandole
las
variables que requiera, ect.

2008/3/13 Iñaki Baz C. [email protected]:

El 14/03/08, Benjamin C. [email protected]
escribió:> > > funciones (también se llama sobrecarga de funciones, function

overloading), mientras que posiblemente la Wikipedia se refiere a
polimorfismo de tipos, que Ruby sí tiene, ya que puedes tratar a
subclases de una clase padre utilizando la interfaz de esa clase.

Vale, puede ser, estaría mejor si hubiesen especificado eso.

Gracias por la aclaración.

Podrías entrar en la Wikipedia y simplemente corregirlo.
(Yo más de una vez lo he hecho)

Silvio

El Viernes, 14 de Marzo de 2008, Silvio Q.
escribió:

Podrías entrar en la Wikipedia y simplemente corregirlo.
(Yo más de una vez lo he hecho)

Ya está, espero que sea correcto:
http://es.wikipedia.org/w/index.php?title=Ruby&diff=15827638&oldid=15761499

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs