Indholdsfortegnelse:
- Tegningskurser
- Udover at bruge rektangler til at repræsentere klasser, omfatter klassediagrammer pile til at repræsentere forhold mellem klasser. UML bruger en række forskellige typer af pile.
Video: UML Class Diagram Tutorial 2025
Programmerne har lige siden begyndelsen af computerprogrammeringen, før Java-populariteten, elsket at lave diagrammer af deres programmer. Oprindeligt udarbejdede de flowdiagrammer, der grafisk repræsenterede et programs proceduremæssige logik.
Flowcharts var gode til diagrammer, men de var alt for detaljerede. Da den strukturerede programmeringsdille blev ramt på 1970'erne, og programmererne begyndte at tænke på den overordnede struktur af deres programmer, skiftede de fra flowcharts til strukturdiagrammer,, som illustrerede de organisatoriske forhold mellem modulerne i et program eller system.
Nu er objektorienteret programmering det, programmører tegner klassediagrammer for at illustrere relationerne mellem de klasser, der udgør en applikation. Dette billede viser et klassediagram af et simpelt system, der har fire klasser. Rektanglerne repræsenterer klasserne selv, og pilene repræsenterer forholdene mellem klasserne.
Et simpelt klassediagram.Du kan tegne klassediagrammer på mange måder. For at tilføje nogle konsekvenser til deres diagrammer bruger de fleste programmører en standard kaldet UML,, som står for Unified Modeling Language. Klassediagrammet ovenfor er et eksempel på et simpelt UML-diagram, men UML-diagrammer kan blive meget mere komplicerede.
Følgende oplysninger beskriver detaljerne om at oprette UML-klassediagrammer. Bemærk, at det ikke engang kommer tæt på at forklare alle funktionerne i UML.
Tegningskurser
Grundelementet i et klassediagram er en klasse. I UML tegnes hver klasse som et rektangel. I det mindste skal rektanglet indeholde klassenavnet. Du kan opdele rektanglet i to eller tre rum, som kan indeholde yderligere oplysninger om klassen.
I midten af en klasse opregnes klassevariablerne, mens bundrummet lister klassemetoderne. Navnet på hver variabel eller metode kan foregå med en synlighedsindikator,, som kan være et af nedenstående symboler. (I praksis er det almindeligt at udelade synlighedsindikatoren og kun liste de felter eller metoder, der har offentlig synlighed.)
Indikator | Beskrivelse |
+ | Offentlig |
- | Privat |
# | Beskyttet |
Hvis du vil, kan du inkludere typeoplysninger for variabler samt metoder og parametre. Typen af en variabel er angivet ved at følge variablenavnet med et kolon og typen:
connectionString: String
En metode tilbageleveringstype er angivet på samme måde:
getCustomer (): Kunde
Parametre er angivet i parenteserne, og både navn og type er angivet.For eksempel:
getCustomer (custno: int): Kunde
Bemærk: Udeladelse af type og parameterinformation fra UML-diagrammer er almindelig.
Grænseflader trækkes stort set på samme måde som klasser, men klassenavnet går forud for ordet interface:
<>
ProductDB
Bemærk: Ordet interface > er indeholdt i et sæt dobbelt-venstre og dobbelt-højre pile. Disse pile er ikke kun to mindre end eller større end symboler skrevet i en række; de er en særlig kombination af symboler. Heldigvis er dobbeltpil-symbolet en standard del af ASCII-tegnsættet. Du kan få adgang til det i Microsoft Word via kommandoen Indsæt symbol. Tegnepile
Udover at bruge rektangler til at repræsentere klasser, omfatter klassediagrammer pile til at repræsentere forhold mellem klasser. UML bruger en række forskellige typer af pile.
En solid linje med en hul lukket pil i den ene ende repræsenterer arv.
- Pilen peger på basisklassen. En stiplede linje med en hul lukket pil i den ene ende indikerer, at en klasse implementerer en grænseflade.
- Pilen peger på grænsefladen. En solid linje med en åben pil angiver en
- forening. En forening indikerer simpelthen, at to klasser arbejder sammen. Det kan være, at en af klasserne skaber objekter i den anden klasse eller at en klasse kræver en anden klasse for at udføre sit arbejde. Eller måske forekomster af en klasse indeholder forekomster af den anden klasse.
Du kan tilføje et navn til en associeringspil for at angive dens formål. Hvis en associeringspil angiver, at forekomster af en klasse opretter objekter i en anden klasse, kan du placere ordet
Opretter
ved siden af pilen.