

  ┌───────────────┐
  │  «interface»  │
  │     Shape     │
  ├───────────────┤
  │ +draw()       │
  │ +area() float │
  └───────────────┘
          △
          ┆
          ┆
          ┆
  ┌───────────────┐
  │    Circle     │
  ├───────────────┤
  │ +float radius │
  ├───────────────┤
  │ +draw()       │
  │ +area() float │
  └───────────────┘
