Classes / Inheritance

# Ruby has no interfaces
# therefore, the example uses module

module Shape
    def get_area
      raise "Not implemented"
    end

      def line_count
      raise "Not implemented"
    end
 end

class Square
    include Shape

    def initialize(s_length)
        @side_length = s_length
    end

    def get_area()
        @side_length * @side_length
    end

    def line_count
        return 4
    end
end

square = Square.new(5)
area = square.get_area()
# area is 25

puts "area is #{area}"