[python] class a subclass

mtip mtip na atlas.cz
Sobota Listopad 11 12:28:31 CET 2006


RC> Myslim, ze si treba este trochu ujasnit co si tu chcel vytvorit
RC> (trochu to napasovat do teorie OOP). Podla mna class table je nieco
RC> ako template, cize nejaka predloha ako maju vyzerat buduce zdedene
RC> classy. Pricom ponuka aj urcitu vseobecnu funkcionalitu. Odvodene
RC> classy uz pracuju s konkretnymi SQL vecami.

RC> Toto treba zohladnit aj v tej template. Cize nesmu sa mixovat
RC> vseobecne veci s konkretnymi SQL do jednej metody. Ked si teda
RC> povieme, ze table je template nesmieme urobit taku vec, ze create()
RC> bude v template pracovat s fields a tbl a odvodena bude pracovat
RC> s sqlText.

>> #kdyz to tedy shrnu trida table ma predem tusit, ze se na ni nekdo
>> #v budoucnu muze prilepit

RC> V podstate ano. Tym, ze sme povedali, ze table je template,
RC> predpokladame, ze bude od nej dedit.

-------------------------------------------------------------------------------
Ano tohle se mi zda byt spravna teorie dle OOP a presne pochopeni meho
problemu, jenze ta rodicovska class table
je uz sama o sobe funkcni a puvodne byla vyvinuta jako posledni
potomek a ne template. Tj staci ji predat v metode create(table,seznamFields)
a ona uz pracuje v pameti sama. Pridava zaznamy, meni je,
odstranuje, umi undo, vraci jednotlive pole, edituje po presunu na
jiny zaznam, posila udalosi BeforeUpdate, AfterUpdate, Current a atd
atd.
Takze bych ji rad zachoval i takto, pro pripad, ze jindy budu chtit
pracovat pouze v pameti a navic nemusim opisovat vetsi casti kodu v
pripadnych potomcich (treba v pripade, ze misto SQL pouziju ukladani
do souboru).
Pak se ale porad potvrzuje, ze kdybych ji navrhl, tak ze vsechny
verejne metody budu volat class.method(self,param), udrzim si i lehce
funkcnost pro pripadneho potomka. Tim udrzim izolacni odstup rodice od
potomka ve zpetnem smeru. Rodic pak nikdy nepouzije metodu potomka a to se mi zda
spravne, jedine v pripade, ze metoda v rodici je template je nutne ji
volat self.method(). Zda se to byt spravny zaver ?


-- 
Mirek Nemecek

--------------------------------------------------------------------------- --



Další informace o konferenci Python