Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Quad
- def initialize(len_a, len_b, len_c, len_d)
- @len_a = len_a
- @len_b = len_b
- @len_c = len_c
- @len_d = len_d
- end
- def perimeter
- @len_a + @len_b + @len_c + @len_d
- end
- end
- class Rect < Quad
- def initialize (len_a, len_b)
- super(len_a, len_b, len_a, len_b)
- end
- def area
- @len_a * @len_b
- end
- end
- class Square < Rect
- def initialize(len)
- super(len, len)
- end
- def side_len
- @len_a
- end
- end
- class Trap < Quad
- end
- class Rhomb < Trap
- def initialize(len)
- super(len, len, len, len)
- end
- def side_len
- @len_a
- end
- end
- def test
- quad = Quad.new(5,10,49,22)
- rect = Rect.new(50, 10)
- squa = Square.new 10
- rhomb = Rhomb.new 15
- puts squa.is_a? Rect
- puts squa.is_a? Quad
- puts rhomb.is_a? Trap
- puts rhomb.is_a? Quad
- p "quad per = " + quad.perimeter.to_s
- p "squa per = " + squa.perimeter.to_s
- p "rhomb per = " + rhomb.perimeter.to_s
- p "rect area = " + rect.area.to_s
- p "squa per = " + squa.area.to_s
- p "squa side_len = " + squa.side_len.to_s
- p "rhomb side_len = " + rhomb.side_len.to_s
- end
- test
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement