|
|
1
0
如果b继承自a,ie是a的子类型,那么c函数是协变的,如果c(b)是c(a)的子类型,那么c函数是协变的,如果c(a)是c(b)的子类型,那么c函数是协变的。 问题是你是否希望消费者去处理超类型或子类型。 一个常见的例子是一个处理水果类的类库。 我可以给你一个你想要水果的苹果。 我不能给你任何你想要苹果的水果。 如果你在做水果图书馆。你应该期待我的果实,我也应该期待你的果实。我们都不应该对可能是错误的子类型抱有期望。 因此,以上问题的答案取决于你是得到还是发送。参数是读还是写。 水果清单应该是 接受 香蕉或苹果,但只有 发送 “水果” |
|
|
2
0
由于没有答案,我只是总结一下评论。 stackoverflow.com/questions/245607/_“mainma stackoverflow.com/问题/2662369/ stackoverflow.com/questions/1163465/ stackoverflow.com/questions/3445631/_“在清醒的56分钟前 |