```mermaid classDiagram class Person <> Person Person : - name Person : - adress class Tourguide Tourguide : - certifiedAdventurePackages vector class Participant class AdventurePackage AdventurePackage : - title AdventurePackage : - description class Accommodation Accommodation : - name Accommodation : - adress class Trip Trip : - startingDate class Booking Booking : - payed Booking : - dateOfBooking Tourguide --|> Person Participant --|> Person Trip "1..*" *-- "1..*" AdventurePackage Trip "*" *-- "1" Accommodation Participant "1..*" -- Booking Booking "1..*" -- "1..*" Trip Tourguide "1" --* "*" Trip Tourguide "1..*" -- "1..*" AdventurePackage ``` ```mermaid sequenceDiagram actor Tom as Tom : Human participant LibGui as libGUI participant Lib as Lib participant CTom as Tom : Customer activate LibGui Tom -) LibGui: name = "HP1" LibGui ->>+ Lib: getEbook("HP1") create participant EBook as HP1 : EBook Lib -->>+ EBook: <> EBook("HP1", 3.99) note right of EBook: Im Konstruktor von EBook fehlt
die Zuweisung des Preise.
Hier ergänzt EBook --)- Lib: return Lib --)- LibGui: return LibGui --)+ Tom: return Tom -)- LibGui: clickBorrowButton LibGui ->>+ Lib: getEbook("HP1") Lib ->>+ CTom: borrow("HP1") CTom ->>+ EBook: getPrice() EBook --)- CTom: return 3.99 CTom ->> CTom: charge(3.99) CTom --)- Lib: return Lib --)- LibGui: return LibGui ->>+ EBook: generateLink() EBook --)- LibGui: return link LibGui ->>+ CTom: showLink() CTom --)- LibGui: return LibGui --) Tom: return destroy EBook LibGui -x EBook: <> destroy CTom LibGui -x CTom: <> destroy Lib LibGui -x- Lib: <> destroy LibGui Tom --x LibGui: <> ``` ```mermaid classDiagram class Kreis{ <> - radius : ft + setRadius() } class Ellipse{ - breite : ft - hoehe : ft + setBreite() + setHoehe() } Ellipse --|> Kreis ```