Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. protocol Run {
  2. var canRun: Bool { get }
  3. var speedRun: Int { get }
  4. }
  5.  
  6. extension Run {
  7. var canRun: Bool { return true }
  8. var speedRun: Int { return 100 }
  9. }
  10.  
  11. protocol Walk {
  12. var canWalk: Bool { get }
  13. var speedWalk: Int { get }
  14. }
  15.  
  16. extension Walk {
  17. var canWalk: Bool { return true }
  18. var speedWalk: Int { return 50 }
  19. }
  20.  
  21. struct Mark: Run, Walk {}
  22.  
  23. // override
  24. struct Jack : Run, Walk {
  25. var speedRun: Int { return 200 }
  26. var speedWalk: Int { return 100 }
  27. }
  28.  
  29.  
  30. Mark().speedRun
  31. Mark().speedWalk
  32. Mark().canRun
  33. Mark().canWalk
  34.  
  35. Jack().speedRun
  36. Jack().speedWalk
  37. Jack().canRun
  38. Jack().canWalk
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement