/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problem
Fra : Tonni Schmücker


Dato : 01-05-02 19:42

Hej NG

Hvis jeg har en klasse "Bruger" som er en abstrakt klasse. og fra den er der
nedarvet 2 andre klasser "Ansat" og "Medlem".

en bruger vil logge på systemet og indtaster sit brugernavn og password,
disse oplysninger skal pakkes ind i et objekt af typen "bruger" men da den
klasse er abstrakt kan jeg jo ikke instantiere et objekt! problemet er at
ens muligheder for at ændre i systemet ligger i om man er en Ansat eller et
Medlem, men jeg skal jo hente brugerens oplysninger i en database og ved
ikke hvilken type bruger der er tale om, før jeg har undersøgt databasen!
GUI'en henter altså oplysningerne i nogle tekstFields (Strings) og sender
dem videre til databasen i et objekt (Bruger) men det kan jeg jo ikke, da
bruger ikke kan instantieres ... hjælp ....!!!! håber der er nogle der
forstår ...

MVh .. Tonni Schmücker



 
 
Dennis Thrysøe (02-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 02-05-02 07:40

Du kunne lave en BrugerFactory, som kan finde ud af at hente de fornødne
data op fra databasen, instantiere et objekt af den rigtige type, og
derefter sætte data på objektet.

Mange gange læser man din problemstilling ved agreggering.

Du kunne f.eks. lave en klasse Bruger der har en reference til en anden
klasse Rettigheder, som siger noget om hvad brugeren må. Den kode der
laver et Brugerobjekt kunne så også lave et Rettigheder objekt. (Dette
er lidt som ACL'er ofte bruges).

-dennis



Tonni Schmücker wrote:
> Hej NG
>
> Hvis jeg har en klasse "Bruger" som er en abstrakt klasse. og fra den er der
> nedarvet 2 andre klasser "Ansat" og "Medlem".
>
> en bruger vil logge på systemet og indtaster sit brugernavn og password,
> disse oplysninger skal pakkes ind i et objekt af typen "bruger" men da den
> klasse er abstrakt kan jeg jo ikke instantiere et objekt! problemet er at
> ens muligheder for at ændre i systemet ligger i om man er en Ansat eller et
> Medlem, men jeg skal jo hente brugerens oplysninger i en database og ved
> ikke hvilken type bruger der er tale om, før jeg har undersøgt databasen!
> GUI'en henter altså oplysningerne i nogle tekstFields (Strings) og sender
> dem videre til databasen i et objekt (Bruger) men det kan jeg jo ikke, da
> bruger ikke kan instantieres ... hjælp ....!!!! håber der er nogle der
> forstår ...
>
> MVh .. Tonni Schmücker
>
>


Morten Olsson (02-05-2002)
Kommentar
Fra : Morten Olsson


Dato : 02-05-02 14:27


"Tonni Schmücker" <Tonni@cool.dk> skrev i en meddelelse
news:aapd0u$o50$1@news.cybercity.dk...
> Hej NG
>
> Hvis jeg har en klasse "Bruger" som er en abstrakt klasse. og fra den er
der
> nedarvet 2 andre klasser "Ansat" og "Medlem".
>
> en bruger vil logge på systemet og indtaster sit brugernavn og password,
> disse oplysninger skal pakkes ind i et objekt af typen "bruger" men da den
> klasse er abstrakt kan jeg jo ikke instantiere et objekt! problemet er at
> ens muligheder for at ændre i systemet ligger i om man er en Ansat eller
et
> Medlem, men jeg skal jo hente brugerens oplysninger i en database og ved
> ikke hvilken type bruger der er tale om, før jeg har undersøgt databasen!
> GUI'en henter altså oplysningerne i nogle tekstFields (Strings) og sender
> dem videre til databasen i et objekt (Bruger) men det kan jeg jo ikke, da
> bruger ikke kan instantieres ... hjælp ....!!!! håber der er nogle der
> forstår ...
>
> MVh .. Tonni Schmücker
>
>

Tja - er det ikke lettest at starte med at slå op i din DB - finde ud af
hvilken
subklasse bruger du har brug for på baggrund af disse data, og så noget i
stil med:

boolean isAnsat = (noget database sjov her)
if (isAnsat)
return Ansat ansat = new Ansat(..........)
else
return Medlem medlem = new Medlem(.......)

eller har jeg misforstået noget ?

Et Ansat objekt og et Medlem objekt er jo begge Bruger objekter da de arver,
og du kan fint caste dem til Bruger objekter når det er nødvendigt...

hilsen Morten



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste