@startuml skinparam style strictuml title State Pattern class PhoneController { changeStateTo(PhoneState) handlePressButton() handlePlugPower() handleUnplugPower() } abstract class PhoneState { handlePressButton() handlePlugPower() handleUnplugPower() } class ScreenOffState extends PhoneState { handlePressButton() handlePlugPower() } class ScreenOnState extends PhoneState { handlePressButton() handlePlugPower() } class ScreenChargingState extends PhoneState { handleUnplugPower() } PhoneController -> "state 1" PhoneState : " " note right of PhoneState::handlePressButton do nothing in default methods end note note right of ScreenOffState::handlePressButton if (powerLow) { displayLowPowerMessage() } else { changeStateTo(ScreenOnState) } end note @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art