Live data from Hacker News

OOP: A practical alternative to Inheritance

github.com

1–4 of 4 posts

Re: OOP: A practical alternative to Inheritance

#3
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.

Re: OOP: A practical alternative to Inheritance

#4

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.

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