Extend the Solid class by creating subclasses for Pyramid, Cylinder, RectangularPrism, and Sphere. Implement constructors and override the volume() and surfaceArea() methods for each shape. Also create a Cube subclass that extends RectangularPrism, overriding its methods. Look up formulas online to calculate volume and surface area for each geometric shape type.