Roh*_*ews 1 .net c# inheritance
什么类型的课不能继承?为什么以及如何做到这一点?请举例说明.
还有什么可能的方法来防止派生类?
Jar*_*ver 6
无法继承使用sealed(C#)或NotInheritable(VB.NET)关键字标记的类.这是在类的定义中完成的.最常用的密封类是System.String.
sealed
NotInheritable
Mik*_*ray 5
显然,sealed关键字可以防止任何人从类型派生.但您也可以通过更改构造函数的可见性来控制谁可以从您的类派生.如果声明所有构造函数内部(包括默认值),那么只能导出同一程序集中的其他类.如果您将它们声明为私有(同样,包括默认值),那么只有类中的嵌套类才能实现.
有一些特殊情况,如System.Delegate和System.ValueType,它们具有公开可见的构造函数,但您无法从它们派生.
归档时间:
14 年,3 月 前
查看次数:
10196 次
最近记录:
9 年,4 月 前