Resumo : neste tutorial, você aprenderá como usar o modificador selado C# para evitar que uma classe seja herdada por outras classes ou que um membro da classe seja substituído por um membro da subclasse.
Introdução ao modificador selado C#
Ao criar uma classe , você deve considerar os seguintes pontos:
- Os benefícios que outras classes podem obter ao herdar de sua classe.
- Os efeitos colaterais se outras classes estenderem sua classe de tal forma que ela não funcionaria mais corretamente ou conforme o esperado.
Se o segundo ponto for óbvio, você pode evitá-lo usando o sealed
modificador C#.
Ao aplicar o sealed
modificador a uma classe, você evita que outras classes o herdem :
sealed class MyClass
{
}
Linguagem de código: C# ( cs )
Neste exemplo, usamos o sealed
modificador para MyClass
que outras classes não possam herdar dele. Se você tentar subclassificar o MyClass
, receberá um erro. Por exemplo:
class MySubclass: MyClass
{
}
Linguagem de código: C# ( cs )
Erro:
'MySubclass': cannot derive from sealed type 'MyClass'
Linguagem de código: C# ( cs )
Além disso, você pode aplicar o sealed
modificador a uma propriedade ou método que substitui uma propriedade ou método virtual . As propriedades e métodos selados selam suas implementações para evitar a substituição. Por exemplo:
class MyClass
{
public virtual string Name { get; set; }
public virtual void MyMethod() { }
}
class Subclass : MyClass
{
public sealed override string Name { get; set; }
public sealed override void MyMethod() { }
}
Linguagem de código: C# ( cs )
Neste exemplo, as subclasses de MySubclass
não podem substituir a Name
propriedade e MyMethod
o método.
Resumo
- Use o
sealed
modificador de uma classe para evitar que ela seja subclassificada por outras classes. - Use o
sealed
modificador para uma propriedade ou método para evitar que seja substituído pelos membros nas subclasses.