When we declare all variables and methods in a class as final, we are restricted the concept of override.
Then, "what is the reason we want to restrict IS-A relationship in an OOP language( even we restrict IS-A relationship, this language has Has-A relationship) by using final class?"
My point is we can not restrict the accessing the members of our class any way, then give an easy access by allowing IS-A relationship. Otherwise it is a headache to create objects and all? (in my view 'access' not includes modifications)
If I miss any important theme of programming , please excuse me. And tell me, what is it?