Module 7: Advanced Object-Oriented Concepts
Mini-Project: Shape Hierarchy
Build an extensible shape system that calculates area/perimeter and renders SVG output.
Define an abstract Shape with abstract area() and perimeter() plus a render() default method.
Implement concrete shapes (Circle, Rectangle, Triangle) and experiment with sealed interfaces to constrain valid shapes.
Add a ShapeRenderer strategy (SVG, ASCII) to demonstrate polymorphism and composition working together.