Ahoj,

řeším následující problém. Mám třídu LmsDb která řeší připojení k databázi 
vypada to nějak takhle:

class LmsDbClass:
    def __init__(self):
        self.options = LmsIniReader(lmsini_filename)
        self.Database = pymysql.connect(host=self.options.dbhost,
                                        user=self.options.dbuser,
                                        password=self.options.dbpasswd,
                                        db=self.options.dbname)

    def open(self):
        self.Database.open()

....

Tak a ted resim, jak tuto tridu využívat, pokud z ní udělám potomky. Takhle 
to mam

class TesstLms(LmsDbClass):
    def __init__(self):
        LmsDbClass.__init__(self)

ale co mi vadi, ze kazdy potomek vytvori novou instanci toho LmsDbClass, 
chtel bych aby to bylo jen jednou.

Jasne, mohu udelat neco takoveho:
Njeprve si vytvorim LmsDbClass

lmsdata = LmsDbClass()

a potomky upravim nejak takhle:
class TesstLms:
    def __init__(self, lmsdata:LmsDbClass):
    self.lmsdata = lmsdata


Jako funguje to, ale chtel bych se zeptat, jestli Python umí nějaký odkaz 
na již vytvořený objekt,  idealne neco takoveho :

class TesstLms:
    def __init__(self):
    if globalnitridaLmsDbClass = None:
        globalnitridaLmsDbClass = LmsDbClass()
    self.lmsdata = globalnitridaLmsDbClass 


Jsem uplne mimo mísu? :)





-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/8a5c788b-32f0-48e3-a088-822bf4389583n%40googlegroups.com.

Reply via email to