14
août
2007
Méthode sealed
août
2007
Je me suis aperçu que cette notion était très peu connue. Du coup je fait un post dessus.
Dans le cas où une méthode est marquée virtual ou abstract elle pouura être surcharger dans les classes dérivées. Dans certains cas rares, on souhaite surcharger la méthode et empêcher les classes dérivées de surcharger cette surcharge. Pour cela, il suffit d’utiliser le mot clé sealed conjugué avec override (override sealed ou sealed override) :
class CBase
{
public virtual Test(){}
}
class C1 : CBase
{
public override sealed Test(){}
}
class C2 : C1
{
}
{
public virtual Test(){}
}
class C1 : CBase
{
public override sealed Test(){}
}
class C2 : C1
{
}
dans ce cas, C2 n’a pas le droit de surcharger Test.