UTNianos

Versión completa: Paradigmas - Super?
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenos dias gente, como va?

Saben que la clase pasada no pude ir y en el temario esta el tema de "Super".

Saben a que se refiere? Es algo propio del lenguaje? Vi que en los apuntes del sabado no esta el tema...

Gracias!
sirve para referirte a un metodo de la clase padre

ahi hay algo de explicacion, aunque no nombran a super, pero deberia darte una idea
http://uqbar-wiki.org/index.php?title=Herencia
que paradigma están viendo ?
Talvez es un ejercicio que se llama SUPER. Estoy seguro de que hay ejercicios de superheroes.

-------------

Igual la posta la tiene Jarry.
Super básicamente es similar al Self, con la diferencia de que Super empieza a buscar en la clase por la cual es instanciada esta clase.

Por ejemplo tenemos la clase Ave y a su vez una clase Gaviota que hereda los metodos de la clase Ave.

Si tenemos

Pichi:= Gaviota new
Pichi correr:100

correr:unaDistancia
energia:= super gasto:unaDistancia

al referenciar super lo que esto implica es que va a buscar en la clase que instancia a esta clase el metodo ese propiamente dicho que seria gasto, si no lo encuentra va a la clase superior que instancia a esas clase y asi, siguiendo el metod lookup (o como se escriba)

Espero haberme explicado, aunque de forma muy cavernicola =P
(25-09-2013 11:19)Maartin escribió: [ -> ]Super básicamente es similar al Self, con la diferencia de que Super empieza a buscar en la clase por la cual es instanciada esta clase.

Por ejemplo tenemos la clase Ave y a su vez una clase Gaviota que hereda los metodos de la clase Ave.

Si tenemos

Pichi:= Gaviota new
Pichi correr:100

correr:unaDistancia
energia:= super gasto:unaDistancia

al referenciar super lo que esto implica es que va a buscar en la clase que instancia a esta clase el metodo ese propiamente dicho que seria gasto, si no lo encuentra va a la clase superior que instancia a esas clase y asi, siguiendo el metod lookup (o como se escriba)

Espero haberme explicado, aunque de forma muy cavernicola =P

Buenisimo, me quedo re claro! =D Al hacer

energia:= super gasto:unaDistancia

Va a buscar el metodo gasto en la clase Gaviota pero luego sigue con el mecanismo Look Up? Es decir, si no lo encuentra busca el metodo un nivel mas arriba?

Self tambien usaba Look Up?
Si, pero self arranca desde la clase que instancia al objeto. Esa es la diferencia que hay
Eso, eso.

super es una variable "automágica" (como self) que siempre apunta al objeto receptor del mensaje. La única diferencia que tiene con self es que altera el method lookup para que, al buscar el método con que responder a ese mensaje, en lugar de arrancar buscando en la clase actual empiece en la clase padre.

Sacando este temita del method lookup (que, justamente, es la joda de super), super se comporta EXACTAMENTE IGUAL que self para todo otro propósito.
Gracias por explicarlo de una forma mas decente, yo lo hice muy cabeza =)
Jajaja igual entendi mas la forma cabeza =P
URLs de referencia