4 ms·
OOP: A practical alternative to Inheritance
- jokethrowaway 4y agoFavor composability over inheritance. That said plenty of languages don't have inheritance and work just fine. Traits / Interfaces are a personal sweet spot
- karmakaze 4y agoThe diamond example "TA extends Student, Teacher" seems worse than OO or direct composition. It's either a compiler error or share everything that overlaps. I would have made the sharing explicit during composition--a Teacher or Student is given the Person instance when constructed, so sharing or not sharing is decided at composition time. To enforce consistency use helper/static methods.
- zeedude 4y agoNot sure what you’re getting at, sharing here does for you exactly what you would do with explicit composition.