Avatar billede krukken Mester
14. maj 2005 - 00:54 Der er 8 kommentarer og
1 løsning

Abstract klasse som Singleton

Hej

Jeg har en abstract klasse AbstractClass, som skal implementeres som singleton - hvordan gør man lige det i java?

Problemet ligger i at denne klasse har en funktion som de klasser som nedarver fra den implementere.
Avatar billede mikkelbm Nybegynder
14. maj 2005 - 00:59 #1
Det er sjældent jeg ser nogen grund til at nedarve fra en singleton.
Hvorfor vil du gøre det?

Kan du ikke bare gøre dine subclasses til singletons ?
Avatar billede krukken Mester
14. maj 2005 - 01:06 #2
Nej - desværre. Jeg har en klasse som hedder Language, denne klasse har en abstract klasse som hedder getText(). Klassen Language laver et objekt af de passer som nedarver fra den selv - dette sker via reflections. Endvidere implementere Language et observer pattern - så jeg kan ikke rigtig se hvordan det skulle kunne lade sig gøre? Har du den bedre ide til et design?

Er det mon muligt at bruge et abstractFactory pattern til at oprette objektet?
Avatar billede arne_v Ekspert
14. maj 2005 - 08:59 #3
Brug af arv i forbindelse med singleton er en særdeles pinefuld oplevelse.

Hvis du kan nøjes med noget factory, så brug det.
Avatar billede krukken Mester
14. maj 2005 - 19:27 #4
Okay - n jeg har ændret noget i mit design. Nu er Language ikke en abstract klasse, og laver en default implementering af alle funktioner. Men hvorfor kan jeg ikke kalde de funktion som ligger i superklassen på en objekt af subklassen?
Avatar billede arne_v Ekspert
14. maj 2005 - 19:41 #5
De burde du vel også kunne. Kan du skitsere lidt kode ?
Avatar billede mikkelbm Nybegynder
14. maj 2005 - 19:41 #6
Det burde du også kunne, hvis disse metoder er enten public eller protected. De må ikke være private.
Avatar billede krukken Mester
14. maj 2005 - 23:34 #7
Nu har jeg ændret en del i mit design - og det virker. Jeg kan lige hurtigt beskrive hvad jeg gør.

Jeg har oprettet en sigletion klasse LanguageManager som håndtere opretning af sprog objektet, også har jeg sat et observer pattern på sprog klasse variablen, som sørger for at staten er ens over alt i hele applicationen.
Avatar billede mikkelbm Nybegynder
14. maj 2005 - 23:47 #8
Nu vil jeg ikke gøre noget stort nummer ud af det, men var dit spørgsmål ikke hvordan man nedarvede fra en singleton? Og du fik svaret; at det gjorde man ikke.
Avatar billede krukken Mester
15. maj 2005 - 01:22 #9
Okay - hvis I begge ligger et svar her så deler jeg pointene imellem Jer - vi skal jo ikke have nogle som er utilfredse:-)

http://www.eksperten.dk/spm/617900
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester