Ja jsem si to pro sebe vyresil tak, ze validaci delam az po volani super().
A to jen u tech parametru, ktere vyuzivam jeste jinak, nez jen tim, ze je predam volani super() - u nich je zodpovednost za validaci na predkovi. Pravda, je v tom skryta mirna neefektivita, ale nechci prece optimalizovat tridy na situace, kdy z jejich konstruktoru litaji vyjimky, ze...

Kdyz jsem se vyrovnal s tim, ze validaci budu delat az po volani super(), tak jsem uz nikdy nic jineho pred volanim super() v konstruktoru delat nepotreboval. Vsechny pripady, kdy to na to vypadalo, se po lepsim rozmysleni ukazaly jako suboptimalne navrzene.

Honza Dvorak


Goo GGooo napsal:

Ahoj vsichni,

uz jsem se pri svem seznamovani s Javou stacil dozvedet ze volani
konstruktoru nadrazene tridy (tedy "super(...)") musi byt v novem
konstruktoru hned jako prvni prikaz. Netusite nekdo  jaky to ma duvod?
Ted jsem chtel vytvorit konstruktor ktery by pred zavolanim sveho
super()  vykonal validaci parametru, ale tvrde jsem narazil takze
musim pouzit nehezky workaround. Vrta mi hlavou jake tohle omezeni
muze mit duvod...?

Dik

Goo

Odpovedet emailem