4 ms·
Inheritance is not a strict requirement of OOP. In OOP, you can always use composition, in which case the question also never arises. Inheritance is there if y
by horrido 9y ago
Inheritance is not a strict requirement of OOP. In OOP, you can always use composition, in which case the question also never arises.
Inheritance is there if you need it. It's an available option.
- BoiledCabbage 9y agoYes, but in common discussion, noone when talking about OOP is referring to inheritence-less OOP. No common programming language uses it, few to no programmers practice it. OOP/w inheritance is the default item being discussed.
- horrido 9y agoAnd why is "common discussion" technically relevant? This is not a fault of OOP but of education.
- BoiledCabbage 9y agoYou're talking about about OOP-B, everyone here is talking about OOP-A. OOP-B isn't really a part of what's being discussed. Anyone can bring it up, but "education" isn't relevant here. It's not what was discussed in the article, or the comments.
- nailer 9y agoAs neither of you, I'm talking about OOP. Nobody's limiting the discussion to composition or inheritance. Otherwise we'd be talking about how 'inheritance sucks' rather than 'OOP sucks'.
- dllthomas 9y ago> in which case the question also never arises. I'm not sure I see that. If class A and B wrap a C by composition and expose, respectively, `a` and `b`, then I still very much have the choice of which I'm building. Perhaps less so if they wrap a C by reference, so the C can be reused (it's too late at night to be sure I've thought it all the way through).