04. maj 2005 - 11:42Der er
9 kommentarer og 2 løsninger
Hvordan overskriver jeg en funktion i en klasse højere oppe ?
Sider og leger lidt med struts. I struts har jeg en klasse der hedder Action som indeholder en funktion der hedder execute. Jeg har nu lavet en klasse der hedder BaseAction som modificere min Action klase. Den ser så ledes ud:
Det er jo alt sammen meget fint. MEN så har jeg også en anden klasse der hedder LookupDispatchAction, denne klasse extender også Action, men selvfølgelig uden min modificering. Så hvordan få jeg LookupDispatchAction til at også includere mine modificationer? (Ved godt at det måske er lidt et alm java spørgsmål men nu kom det herind)
Måden det ofte bliver gjort på, at lave en BaseAction som extender Action, og dine egne klasser extender så BaseAction istedet for Action.
Det bliver ofte implementeret sådan, at BaseAction definere en ny abstract doExecute metode, som dine egne actions skal implementere istedet for execute, og execute metoden i BaseAction laver så den logik der altid skal udføres.
Er alle en del af struts og ville helst ikke rode med source koden til dem. Helt enkelt vil jeg lave en klasse der hedder BaseLookupDispatchAction, som overskriver nogle metoder i Action klassen, uden at lave om i Action, DispatchAction eller LookupDispatchAction. Hænger det sammen??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.