Avatar billede doktoren Nybegynder
04. juni 2003 - 21:43 Der er 22 kommentarer og
1 løsning

hjælp til UML-diagram (Class-diagram)

Hej eksperter!

Jeg er meget nybegynder inden for java, men skal løse en opgave, hvor jeg, til at starte med, skal lave et uml-diagram....Jeg har ikke helt tjeck på disse endnu -kan f.eks. ikke rigtigt finde ud af, hvornår de forskellige klasser skal være "private" og hvornår de skal være "public".
I opgaven skal jeg inddele nogle breve i kategorierne standardbrev, storbrev og maxibrev. Disse breve har så nogle mål ,så som længde, bredde, tykkelse og vægt. Udover det skal portoen beregnes ud fra, om brevet skal til "Danmark", "Europa, Færøerne og Grønland" eller "øvrige udland". De har så inden for disse forskellige kategorier en pris alt efet, hvad de vejer og hvor de skal hen.
Puha....det lyder måske umiddelbart lidt indviklet, men jeg håber at der er nogen, der har tid til at hjælpe lidt.
Men som sagt så er det, til at start med UML-diagrammet jeg har problemer med, da jeg f.eks. ikke kan finde ud af, hvad der skal være "public" og hvad der skal være "private".
Avatar billede riversen Nybegynder
04. juni 2003 - 21:47 #1
en klasse KAN IKKE være private.
Avatar billede riversen Nybegynder
04. juni 2003 - 21:47 #2
det der skal kunne tilgås fra andre objekter skal være public. Det der kun må tilgås internt i et objekt skal være private.
Avatar billede riversen Nybegynder
04. juni 2003 - 21:48 #3
Men hvis vi skal hjælpe med UML må du fortælle, hvilke klasser du har tænkt dig at oprette og hvilke metoder og variabler de skal indeholde. Så kan vi nok hjælpe lidt med public og private.

Det er vel sjovere du selv kommer med noget input og vi så tager det derfra.
Avatar billede arne_v Ekspert
04. juni 2003 - 21:49 #4
(klasser er normalt altid public)

Dine mebers og methods skal du overveje hvro de skal bruges:

public - de kan bruges af alle
private - de kan kun bruges af klassen selv
protected - de kan bruges af klassen selv og klasser der arver fra den
default=package - de kan bruges af alle klasser i samme package

som hoved regel bør alle members være private og have public get og set
methods.

For methods skal du vælge hvordan du forestiller dig metoderne brugt.
Avatar billede riversen Nybegynder
04. juni 2003 - 21:50 #5
protected er vist også klasser i samme pakke
Avatar billede arne_v Ekspert
04. juni 2003 - 21:51 #6
Hvilket værktøj bruger du til UML ?
Avatar billede arne_v Ekspert
04. juni 2003 - 21:54 #7
Nej - protected access bør kun være klasser der arver fra den - ikke
klasser i samme package der ikke arver - men også klasser der arver fra
anden package.
Avatar billede arne_v Ekspert
04. juni 2003 - 21:57 #8
Hvis du er rimeligt begynder, så vil jeg foreslå:

alle class public

alle members private

alle methods public med undtagelse af få metoder som du er helt sikker på
kun skal bruges internt i klassen

reglen er kun en 75% regel, men du går ikke helt galt i byen - og
du skal ikek til at forsvare dit valg af protected og package
Avatar billede doktoren Nybegynder
04. juni 2003 - 21:58 #9
hmm...prøver at se om jeg kan fortælle lidt om det, men som sagt er jeg nybegynder, så det er ikke helt sikkert at jeg snakker jeres "sprog", men jeg kan se, hvad jeg kan gøre. Hvis jeg skal være helt ærlig, så ved jeg ikke helt, hvilke metoder og variabler de skal indeholde. Men klasserne skal vel være "standard", "storbrev" og "maxibrev" og så nogle underklasser med længde, bredde, tykkelse og vægt, samt nogle med Danmark, Europa, og øvrige udland??
Avatar billede disky Nybegynder
04. juni 2003 - 21:59 #10
enig med arne, men lav alle metoder private, og kun gør dem som du med sikkerhed skal kalde udefra public, brug get/set metoder til at tilgå variabler udefra.
Avatar billede riversen Nybegynder
04. juni 2003 - 21:59 #11
arne_v: tror du blander der med C++ protected. I java har klasser i samme pakke også adgang til protected metoder fx.
Avatar billede doktoren Nybegynder
04. juni 2003 - 22:00 #12
til selve javaprogrammeringen bruger jeg blue-j og til uml har jeg tænkt mig at bruge Smart-draw, men ved ikke om det er det bedste
Avatar billede arne_v Ekspert
04. juni 2003 - 22:03 #13
Nej jeg tror at du skal have en basis klasse brev og nogle afledte
klasser standard brev, stor brev og maxi brev.

længde, bredde, tykkelse og vægt er nok members i klasserne.
Avatar billede doktoren Nybegynder
04. juni 2003 - 22:05 #14
ja..det lyder nok som en meget god idé....men under standare, stor og maxi skal jeg vel også lave nogle afledte klasser, som så hedder vægt osv -eller hvordan gør man det?
Avatar billede arne_v Ekspert
04. juni 2003 - 22:08 #15
Nej.

De skal være members (variable) i klasserne.

"den midterste firkant i klasse firkanterne i UML"
Avatar billede arne_v Ekspert
04. juni 2003 - 22:14 #16
riversen>

En hurtig test viser at du har ret m.h.t. protected i java.

Det er ikke hvad jeg forventer udfra ordet protected, men so it is.
Avatar billede doktoren Nybegynder
04. juni 2003 - 22:14 #17
ok...tak fordi du gider pensle det sådan ud:) Jeg skal altså i den øverste firkant f.eks. skrive "standard" og i den midterste f.eks. skrive længde osv, som så skal være private -og til sidst lave nogle methods, som skal være public. Men hvad skriver jeg egentligt under methods? Skriver jeg bare f.eks. "print price" og "print request" osv?
Avatar billede arne_v Ekspert
04. juni 2003 - 22:19 #18
Hvis klassen StandardLetter extender klassen Letter og har
private members length, width, thickness og weigth, så skal du nok
have nogle publci methods:
  getLength
  setLength
  ...
  getWeigth
  setWeigth
  toString
Avatar billede doktoren Nybegynder
04. juni 2003 - 22:22 #19
ok -jeg prøver lige at se om jeg kan finde ud af at stille det op -så vender jeg lige tilbage, hvis det ikke går...men mange tak for hjælpen indtil videre!
Avatar billede doktoren Nybegynder
06. juni 2003 - 13:56 #20
hej Arne -tak for hjælpen -det virker ikke helt endnu, men tror bare lige jeg skal lege lidt mere med det -ellers kan det være jeg opretter et nyt spørgsmål..
Avatar billede doktoren Nybegynder
06. juni 2003 - 14:12 #21
hvis nu det går helt galt, må jeg så sende noget af det til dig?
Avatar billede arne_v Ekspert
06. juni 2003 - 14:18 #22
Selvfølgelig.
Avatar billede doktoren Nybegynder
06. juni 2003 - 20:18 #23
tak:)
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