Start learning free

LESSON 608 OF 639 · OBJECT-ORIENTED PROGRAMMING

Shape Area in Kotlin

Practice

You write an abstract class and the areas of three shapes.

Shape is abstract. It has two abstract methods:

  • area() returns the shape's area.
  • name() returns the shape's name.

It also has one concrete method, describe(). It returns a text such as Square with area 25. That is the name, then with area, then the area.

Three shapes inherit from Shape:

  • Rectangle(width, height) has area width × height.
  • Square(side) has area side × side.
  • RightTriangle(a, b) has sides a and b that meet at a right angle. Its area is a × b / 2, rounded down.

Their constructors and name() methods are already written. You write each area().

In Kotlin, Shape is an abstract class. Its abstract methods have no body.

For each shape, the harness prints describe() on its own line.

 

Example 1:

Input: Rectangle(3, 4), Square(5), RightTriangle(3, 4)
Output:
Rectangle with area 12
Square with area 25
Right triangle with area 6

Explanation: 3 × 4 = 12 and 5 × 5 = 25.
The triangle is half of 3 × 4, so 6.

Example 2:

Input: RightTriangle(3, 5), Square(1)
Output:
Right triangle with area 7
Square with area 1

Explanation: Half of 3 × 5 is 7.5.
It rounds down to 7.

Example 3:

Input: Rectangle(1, 7), RightTriangle(1, 1)
Output:
Rectangle with area 7
Right triangle with area 0

Explanation: A 1 by 7 rectangle has area 7.
Half of 1 × 1 rounds down to 0.

 

Constraints:

  • 1 to 100 shapes.
  • Each size is a whole number from 1 to 10,000.
STEP 1 OF 6
    Ctrl + Enter to check

    Shape Area in Kotlin

    Keep going with Kotlin500+ step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free