fork(1) download
  1. Object subclass: #Square.
  2. Square instanceVariableNames: 'side'.
  3. Square class extend [
  4. new: square [
  5. | r |
  6. <category: 'instance creation'>
  7. r := super new.
  8. r init: square.
  9. ^r
  10. ]
  11. ]
  12. Square extend [
  13. init: square [
  14. <category: 'initialization'>
  15. side := square sqrt.
  16. ]
  17. perimeter [
  18. | p |
  19. <category: 'perimeter calculation'>
  20. p := 4 * side.
  21. ^p
  22. ]
  23. ]
  24.  
  25. Object subclass: #App.
  26. App class extend [
  27. run [
  28. | s |
  29. s := Square new: 4.
  30. (s perimeter) printNl
  31. ]
  32. ]
  33. App run
Success #stdin #stdout 0s 335424KB
stdin
Standard input is empty
stdout
8.0