diff --git a/command/README.md b/command/README.md index fc0a11d9f..b763cf4dd 100644 --- a/command/README.md +++ b/command/README.md @@ -75,19 +75,18 @@ public class Wizard { Next we present the spell hierarchy. ```java -public abstract class Command { +public interface Command { - public abstract void execute(Target target); + void execute(Target target); - public abstract void undo(); + void undo(); - public abstract void redo(); + void redo(); - @Override - public abstract String toString(); + String toString(); } -public class InvisibilitySpell extends Command { +public class InvisibilitySpell implements Command { private Target target; @@ -117,7 +116,7 @@ public class InvisibilitySpell extends Command { } } -public class ShrinkSpell extends Command { +public class ShrinkSpell implements Command { private Size oldSize; private Target target; diff --git a/command/etc/command.png b/command/etc/command.png index 81b47d6d0..5564b0ec5 100644 Binary files a/command/etc/command.png and b/command/etc/command.png differ diff --git a/command/etc/command.urm.puml b/command/etc/command.urm.puml index a8b773418..c9c172226 100644 --- a/command/etc/command.urm.puml +++ b/command/etc/command.urm.puml @@ -4,7 +4,7 @@ package com.iluwatar.command { + App() + main(args : String[]) {static} } - abstract class Command { + interface Command { + Command() + execute(Target) {abstract} + redo() {abstract} @@ -77,7 +77,7 @@ ShrinkSpell --> "-oldSize" Size InvisibilitySpell --> "-target" Target ShrinkSpell --> "-target" Target Target --> "-visibility" Visibility -Goblin --|> Target -InvisibilitySpell --|> Command -ShrinkSpell --|> Command -@enduml \ No newline at end of file +Goblin --|> Target +InvisibilitySpell ..|> Command +ShrinkSpell ..|> Command +@enduml