[python] otázka ohladom mojho štýlu písania v OOP
Petr Přikryl
prikryl na atlas.cz
Úterý Leden 15 16:11:06 CET 2013
> Od: "Roman Beno" <romanbeno273 na gmail.com>
...
>Čo sa týka Raiczeho kritiky, podobný systém s "odkazom na metódy jednej
>konkrétnej instancie" je uplatnený v module random.
V modulu random má ale vytvoření instance _inst jeden důležitý důvod.
Instance použije při své inicializaci aktuální čas jako zárodek pro
generování náhodných čísel -- ale jen když se neudá explicitně.
Zárodek (seed) se používá v různých metodách instance.
Je to tam zkrátka složitější a někdy je nutné pracovat se stejným
zárodkem, aby byla posloupnost náhodných čísel opakovatelná :)
Instance tam slouží k uložení toho zárodku. Při prostém používání
nás detaily nezajímají a místo instance a jejích metod nás zajímají
funkce (jako v matematice). Jejich implementace (jako metod interní
instance) může být uživatelem chápána jako implementační detail.
Obecně, práce s instancemi tříd je výhodná jen v situaci, kdy
instance udržuje nějaký vnitřní stav, tj. kdy má smysl uvažovat
o metodách jen v situaci, kdy by to bez toho vnitřního stavu
komplikovalo rozhraní volané funkčnosti.
>if __name__="__main__":
> # čo robit s instaciou(ami) po spustení z termu..
> ....
Z obecného pohledu v této části nelze mluvit o instancích
tříd protože žádné nemusí existovat. Python není čistě objektově
orientovaný a umožňuje (podobně jako C++) přirozenější
přístup k výstavbě programu.
Petr
Další informace o konferenci Python