# 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}"