Q1. Design a shape hierarchy so new shapes can be added without changing existing code.
Depend on an abstraction and let each shape compute its own values. ```java interface Shape { double area(); double perimeter(); } class Circle implements Shape { private...