About Lesson
Code Reusability: It allows methods to use objects of different types at different times promoting code reuse.
Improved Code Readability: it promotes cleaner and organized code through use of common interfaces.
Flexibility and Scalability: provides flexibility to introduce new implementations without much changes in existing system.
Maintainability: makes easier to maintain and modify existing code.
Dynamic Binding: allow appropriate method to be invoked at runtime depending on object’s real class.