根据http://www.thinkbottomup.com.au/site/blog/C%20%20_Mixins_-_Reuse_through_inheritance_is_good
当TaskAdapter
由ITask
实现时,为什么需要MyTask
?同样,如果ITask
不是抽象的,则可能导致菱形继承(钻石问题)。
最佳答案
这是非常有趣的文章。
在最后一个Mixin示例中,MyTask
类是而不是从ITask
派生的。这意味着它不能转换为最后完成的ITask
指针。
在该示例中,我相信您可以从MyTask
派生ITask
。但是我认为作者想说明一下,您甚至可以使用MyTask
分离TaskAdapter
类。