Portál AbcLinuxu, 9. května 2025 00:13
class entity: name = "" def __init__(self, name): self.name = name self.asset = self.asset() def say_hello(self): print "Hello, my name is " + self.name class asset: def describe_yourself(self): print "This is [ZDE SE MA VYPSAT OBSAH PROMENNE name Z PARENT CLASS]'s inherent asset" #create virtual object dezo = entity("Dezo") #call methods owned by virtual object dezo.say_hello() dezo.asset.describe_yourself()
class Entity: def __init__(self, name): self.name = name def say_hello(self): print "Hello, my name is " + self.name def describe(self): print "This is " + self.name + "'s inherent asset" #create virtual object dezo = Entity("Dezo") #call methods owned by virtual object dezo.say_hello() dezo.describe()Jenom upozorňuji, že by bylo lepší, kdyby v té třídě žádný print nebyl...
class asset_tmp: def describe_yourself(self): print "This is [ZDE SE MA VYPSAT OBSAH PROMENNE name Z PARENT CLASS]'s inherent asset" class entity: name = "" def __init__(self, name): self.name = name self.asset = self.asset() def say_hello(self): print "Hello, my name is " + self.name asset = asset_tmp asset_tmp.__name__ = "asset" # pro puristy del asset_tmp…ergo i kdyby se ti to povedlo nejak zaridit tak to stejne nejspis nebude delat to co potrebujes nebo to bude zbytecne slozity.
class Asset(object): def __init__(self, cls): self.cls = cls def describe_yourself(self): print "This is %s's inherent asset" % self.cls.name class Entity(object): name = "" def __init__(self, name): self.name = name self.asset = Asset(self) def say_hello(self): print "Hello, my name is " + self.nameKlidne to muzes vrazit do namespace tridy, ale nedava smysl to takhle svazovat kdyz Asset objekt muzes aplikovat na libovolny jiny objekt. A cely je to cviceni v marnosti pacz kdyz se na to podiva pythonista, tak uvidi jenom zbytecne prekomplikovany zpusob jak napsat
dezo.__name__
.
entity
přidat jediný řádek:
self.asset.name = name
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.