Slide 4
Slide 4 text
case class Square(side: Float)
case class Rectangle(a: Float, b: Float)
case class Circle(radius: Float)
def area(square: Square): Float = Math.pow(square.side, 2).toFloat
def area(rectangle: Rectangle): Float = rectangle.a * rectangle.b
def area(circle: Circle): Float = (Math.PI * Math.pow(circle.radius, 2)).toFloat
def compareArea[
A if there's a function area(A):Float,
B if there's a function area(B):Float,
](a: A, b: B): Float = area(a) - area(b)
compareArea(Square(10), Circle(5))
4