[python] class a subclass
mtip
mtip na atlas.cz
Sobota Listopad 11 13:47:31 CET 2006
RC> table ako posledny potomok sa mi zda nespravny navrh. Najjvysie ma byt
RC> daco vseobecne a postupne ako dedis implementujes viac low-level
RC> operacie.
Mam to poradi takto, to je preci postup od vseobecnemu ke konkretnimu:
class binds:
...
class rowtable(binds):
...
class table(rowtable):
'''zpracovava udalosti nad tabulkou
(pohyb po zaznamech, zmeny zaznamu atd)'''
def move(self,recordNum):
'''posun po zaznamech'''
pass
def refresh(self,tbl):
'''obnovi tabulku'''
pass
def create(self,fields,tbl):
this.__fields=fields #ulozi nove nazvy poli
this.refresh() #obnovi tabulku (S POTOMKEM VYTVORI CHYBU)
class sql(table):
'''prebira vse z table a vylepsi metody create a refresh'''
def refresh(self):
'''prekryje metodu rodice
nacte zaznamy napr z MySQL a posle do rodice tb'''
#neco jako opakuj posledni SELECT a ziskej pole tbl
table.refresh(self,tbl)
def create(self,sqlText):
'''prekryje metodu rodice
nacte novou tabulku z sql do pole a preda ho rodici'''
#neco jako
#tbl = run (SELECT...)
#fields = nazvy poli z dotazu select
table.create(self,fields,tbl)
RC> Ak chces pracovat priamo s pamatou, tak vytvor dalsiu odvodenu classu
RC> mem(table) a prekry prislusne metody sqlCreate a sqlRefresh.
Ale ja preci s pameti pracuju uz takto:
instTable=table()
instTable.create(fields,tbl)
ale uz tomu asi rozumim. Class table ma byt ve skutecnosti nahrazena
class template a nad ni teprve bud class sql nebo class memo, a ty budou
pouze prekryvat dve template metody, jinymi slovy, vyuzit toho, ze i
rodic hleda vzdy nejprve v potomkovi.
Diky za trpelivost.
---
Mirek Nemecek.
Další informace o konferenci Python