[python] otázka ohladom mojho štýlu písania v OOP

Roman Beno romanbeno273 na gmail.com
Úterý Leden 15 19:30:43 CET 2013


Fabian Hynek: Ten príkazový riadok bol myslený len vlastne ako ukážka,
nebol to žiadny projekt :-)

Petr Přikryl: To znamená, že pri písaní modulov sa na to OOP nehodí?



2013/1/15 Petr Přikryl <prikryl na atlas.cz>

> > 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
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20130115/711b219c/attachment.html>


Další informace o konferenci Python