Introduction
Open classes let you add or change methods in a class anytime. This helps you improve or fix code without starting over.
You want to add a new method to a built-in class like String or Array.
You need to fix or change behavior of a class from a library you use.
You want to add helper methods to your own classes after they are defined.
You want to customize how existing methods work without copying the whole class.