Una pregunta Sobre OOP

Alexis Roda alexis.roda.villalonga en gmail.com
Jue Ago 31 00:42:18 CEST 2006


En/na Jesus Rodriguez ha escrit:
> Pero en este caso podría usar self.insB1 o self.insB2 dentro de una
> funcion,no?

No estoy seguro de a que te refieres. Puedes hacer:

     def blah(self) :
         print self.instB1.getValor()
         print self.instB2.getValor()

si es lo que preguntas. Pero si la operación es algo mas complejo que un 
"print" puede ser preferible factorizarla en su propio método:

     def imprValor(self, ins) :
         ... calculos variados ...
         print resultado

     def blah(self) :
         imprValor(self, self.instB1)
         imprValor(self, self.instB2)

se trataría simplemente de un método de conveniencia para uso interno de 
los otros métodos de la clase.



Saludos

> Un saludo.
> 
> 2006/8/30, Alexis Roda <alexis.roda.villalonga en gmail.com>:
>>
>> En/na Jesus Rodriguez ha escrit:
>> > Hola, en este caso, el que llamaba a la funcion enviandole ese objeto,
>> era
>> > el evento de un boton, aun asi me parece extraño ya que puede acceder a
>> ese
>> > objeto colocando self. delante jeej.
>>
>> Si puede darse algo como:
>>
>> class A:
>>    def __init__(self) :
>>      self.insB1 = B()
>>      self.insB2 = B()
>>
>> sí que tiene sentido pasar explícitamente la instancia al método
>> imprValor(). En el ejemplo que has mandado no le veo ninguna ventaja,
>> mas bien al contrario.
>>
>>
>>
>>
>> Saludos
>> _______________________________________________
>> Python-es mailing list
>> Python-es en aditel.org
>> http://listas.aditel.org/listinfo/python-es
>>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 




Más información sobre la lista de distribución Python-es