[Olpc-uruguay] Consulta tecnica python

Gabriel Eirea geirea en gmail.com
Dom Feb 7 10:03:23 EST 2010


> Tengo una duda tecnica, en el siguiente código, parece que no interpreto
> correctamente lo que se quiere hacer, la linea super(TextSync,
> self).__init__(tube, PATH)
> ¿ qué es exactamente lo que hace?
>
> class TextSync(ExportedGObject):
>
>     def __init__(self, tube, is_initiator, text_received_cb, alert,
> get_buddy):
>
>         super(TextSync, self).__init__(tube, PATH)

En Python si tenés una clase que hereda de otra, cuando la inicializás
la clase superior no se inicializa automáticamente como ocurre en
otros lenguajes orientados a objetos. Esto implica que hay que
inicializar la clase superior explícitamente. La forma estándar de
hacerlo es poner super(miclase).__init__(args). En el ejemplo esto es
equivalente a hacer ExportedGObject.__init___(args). Puede haber otras
sutilezas que se me escapan, pero esa es la idea general.

Saludos,

Gabriel


More information about the Olpc-uruguay mailing list