![]() |
1
4
我不认为这是限制因素,(但我可能错了)。 据我所知,约束本身与继承无关。您真正要做的是对类型进行约束,如果您使用(实例化)一个具有类型参数的类,则可以使用该类型。 带有类型参数的类类似于mad libs,约束类似于出现在空白下的指令: “鲍勃喜欢每晚和朋友们在一起。”(那是个疯狂的举动) “鲍勃喜欢每晚和朋友们在一起”(一个有指示的疯子)。 检查一下:
|
![]() |
2
4
不完全是这样。约束用于指定通用参数可以显示哪些行为和/或类型。 例如,如果您声明一个类:
并且知道泛型参数t应该始终是实现IDisposable的东西,您可以这样做:
|
![]() |
3
2
不是真的。仅当定义通用类模板时,约束才适用。( 不 从类继承时)。 当您定义一个泛型时,您会说这是一个“模板”或模式,对于一些尚未定义/未知的类,具有一个尚未定义的类型t,它将基于此模式和显式提供的类型t在其他地方创建。约束限制了哪些类型t可以在实际创建模板/模式的实数类型 如在
使用显式提供的类型“DerivedClass”在此处创建实际类
如果且仅当派生类从SomeOtherClass继承时,它才会成功 |
![]() |
4
0
只能从一个类继承,但是可以实现多个接口。继承意味着类得到(继承)基类指定的任何属性和方法。只要它们没有标记为private,继承类就可以调用它们自己的方法。 |