Hello,
The Real programming and constraints are always directly related to their usage in real time applications. The Desing
patterns and OO practices are proven methods for the good design to build a better application.
For the answer why "final", you can search in Design patterns and OO principles, ... Some times we require , not to extend the functionality.
and some times, close for modification and open for extension.
Just explore ...