Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. class Quadrilateral
  2. # def initialize(side1,side2,side3,side4)
  3. # @side1 = side1
  4. # @side2 = side2
  5. # @side3 = side3
  6. # @side4 = side4
  7. # end
  8. end
  9.  
  10. class Equalateral < Quadrilateral
  11. def initialize(side1)
  12. @side1 = side1
  13. end
  14. def area
  15. @side1 * @side1
  16. end
  17.  
  18. def single_side
  19. @side1
  20. end
  21.  
  22. def perimeter
  23. @side1 *4
  24. end
  25. end
  26.  
  27.  
  28.  
  29. class Rectangle < Quadrilateral
  30. def initialize(side_width, side_length)
  31. @side_width = side_width
  32. @side_length = side_length
  33. end
  34.  
  35. def area
  36. @side_width * @side_length
  37. end
  38.  
  39. def perimeter
  40. (@side_width*2) + (@side_length*2)
  41. end
  42. end
  43.  
  44. class Square < Equalateral
  45. end
  46.  
  47. class Rhombus < Equalateral
  48. end
  49.  
  50. class Trapezoid < Quadrilateral
  51. def initialize(side1, side2, side3, side4)
  52. @side1 = side1
  53. @side2 = side2
  54. @side3 = side3
  55. @side4 = side4
  56. end
  57.  
  58. def perimeter
  59. @side1 + @side2 + @side3 + @side4
  60. end
  61. end
  62.  
  63.  
  64.  
  65.  
  66. def test
  67. squa = Square.new(1)
  68. recta = Rectangle.new(2,4)
  69. rhom = Rhombus.new(4)
  70. trape = Trapezoid.new(1,2,2,4)
  71. puts squa.area
  72. puts squa.perimeter
  73. puts squa.single_side
  74. puts recta.perimeter
  75. puts recta.area
  76. puts rhom.perimeter
  77. puts rhom.single_side
  78. puts trape.perimeter
  79. end
  80.  
  81. test
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement