Settings

Theme

OOP: A practical alternative to Inheritance

github.com

12 points by clownvorld · 3 comments

Reader

2 threads
karmakaze

The 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

    Not sure what you’re getting at, sharing here does for you exactly what you would do with explicit composition.

jokethrowaway

Favor composability over inheritance.

That said plenty of languages don't have inheritance and work just fine.

Traits / Interfaces are a personal sweet spot

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection