| |
| Posted by IGotD- in reply to zjh | PermalinkReply |
|
IGotD-
| On Tuesday, 22 June 2021 at 02:13:33 UTC, zjh wrote:
> multiple inheritance is very good.I dont know why they are objective.
10+ years ago,they refuse to listen others' suggestion.
I dont know if they still refuse now.
It's because the diamond problem. The diamond problem is purely an academic problem and it very seldom happens in the real world and if it does you probably did something wrong in your design. Happen to me once in 30 years because I messed up. Multiple inheritance is often flat, which means that one class inherits from several others at the same level. Instead of disallow multiple inheritance you can disallow the diamond pattern.
D went another way with composition with template mixins. Nothing particular wrong with this model but I think the D documentation isn't clear about its intended use. Also the overlap with alias this makes it more confusing.
|