| Take a class C. Alice extends class C with class A, which implements function a. Bob extends class C with class B, which implements function b. I have both Alice’s and Bob’s code, and I want to use both a and b. How can I do it? Of course, there are ways to do it – notably multiple inheritance, if your language supports it – but the point is, in a functional language, this question never even arises. You just import the function definitions and use them, without ever having to think about the mechanics of it. By the way, I’m not saying that this necessarily makes functional languages better (although I do tend to prefer them). I’m just pointing out that the difference is real. |
Inheritance is there if you need it. It's an available option.