日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Reply To: 另类继承

Home Forums 《冒号课堂》讨论区 另类继承 Reply To: 另类继承

#1195
hui
Keymaster

>>noncopyable不是接口,但却达到了接口类似的特征表达效果,与C#中可序列化类的标记[Serializable]有异曲同工之妙。

是的,书中p307提到的标记接口和属性导向式编程(@OP)正适合那些无法用接口直接表征的类型特性。这在Java和C#中比较常见,而在C++中除noncopyable这种特殊用法外并不多见,一个明显的原因是前二者对metadata有更强大的支持。

>>接口是有主客关系的,类的这种行为”特征”不一定需要客户的存在。不知道这种表达“特征”而不涉及客户接口的方式就是mixin或者traits是否有关联?

这话恐怕不太准确。如果没有客户的存在,也就谈不上是否copyable了。而无论是mixin还是trait,都提供了一系列接口集合,它们与通常的抽象类型中interface的一个主要区别是除接口外还提供了实现;与abstract class的一个主要区别是摆脱了class hierarchy的桎梏。

 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)