Zum Hauptinhalt springen

Tag 13

Aggregation (Computerbauteile)​

UML​

class PC {
- verweisAufDisk : Disk
+ diskWechseln(Disk aDisk) : void
+ PC(Disk vaufDisk)
}
class Disk {
- eingebaut : Boolean
+ einbau() : void
+ ausbau() : void
+ getStatus() : Boolean
}
PC "0..1" o-- "0..1" Disk

Source Code​

Sequenz-Diagramm​

participant "App"
participant "disk01 : Disk"
participant "disk02 : Disk"
participant "pc01 : PC"

"App" -> "disk01 : Disk" : new()
activate "disk01 : Disk"
deactivate "disk01 : Disk"

"App" -> "disk02 : Disk" : new()
activate "disk02 : Disk"
deactivate "disk02 : Disk"

"App" -> "pc01 : PC" : new(disk01)
activate "pc01 : PC"
"pc01 : PC" -> "disk01 : Disk" : einbau()
activate "disk01 : Disk"
"disk01 : Disk" -> "disk01 : Disk" : eingebaut = true
"disk01 : Disk" -> "disk01 : Disk" : System.out.println("Festplatte wurde erfolgreich eingebaut.")
deactivate "disk01 : Disk"
deactivate "pc01 : PC"

"App" -> "pc01 : PC" : diskWechseln(disk02)
activate "pc01 : PC"
"pc01 : PC" -> "disk01 : Disk" : ausbau()
activate "disk01 : Disk"
"disk01 : Disk" -> "disk01 : Disk" : eingebaut = false
"disk01 : Disk" -> "disk01 : Disk" : System.out.println("Festplatte wurde erfolgreich ausgebaut.")
deactivate "disk01 : Disk"
"pc01 : PC" -> "pc01 : PC" : verweisAufDisk = disk02
"pc01 : PC" -> "disk02 : Disk" : einbau()
activate "disk02 : Disk"
"disk02 : Disk" -> "disk02 : Disk" : eingebaut = true
"disk02 : Disk" -> "disk02 : Disk" : System.out.println("Festplatte wurde erfolgreich eingebaut.")
deactivate "disk02 : Disk"
deactivate "pc01 : PC"

"App" -> "disk01 : Disk" : getStatus()
activate "disk01 : Disk"
"disk01 : Disk" -> "App" : return eingebaut
deactivate "disk01 : Disk"

"App" -> "disk02 : Disk" : getStatus()
activate "disk02 : Disk"
"disk02 : Disk" -> "App" : return eingebaut
deactivate "disk02 : Disk"