This isn't really true in every language. Not every use of inheritance is a case of OOP. Inheritance is a mechanism used for multiple purposes (especially in C++) and OOP is merely one of them. It's also just a way to do mixins, and it's frequently used for that in C++.
Also these functions do not have access to private or protected fields.
It's a way to argument a existing API for your use case without too thight coupling, whatever that means.