(referência C#) protegida
The protected palavra-chave é um modificador de acesso de membro. Um membro protegido é acessível dentro de sua classe e por instâncias da classe derivada.Para obter uma comparação de protected com os outros modificadores de acesso, consulte Níveis de acessibilidade.
Exemplo
Um membro protegido de uma classe base está acessível uma classe derivada somente se o acesso ocorrer pelo tipo de classe derivada.Por exemplo, considere o segmento de código a seguir:
class A
{
protected int x = 123;
}
class B : A
{
static void Main()
{
A a = new A();
B b = new B();
// Error CS1540, because x can only be accessed by
// classes derived from A.
// a.x = 10;
// OK, because this class derives from A.
b.x = 10;
}
}
A demonstrativo a.x = 10 gera um erro porque ele é feito dentro do método Main estático e não uma instância da classe B.
Membros struct não podem ser protegidos porque a estrutura não pode ser herdada.
Neste exemplo, a classe DerivedPoint é derivado de Point. Portanto, você pode acessar os membros protegidos da classe base diretamente da classe derivada.
class Point
{
protected int x;
protected int y;
}
class DerivedPoint: Point
{
static void Main()
{
DerivedPoint dpoint = new DerivedPoint();
// Direct access to protected members:
dpoint.x = 10;
dpoint.y = 15;
Console.WriteLine("x = {0}, y = {1}", dpoint.x, dpoint.y);
}
}
// Output: x = 10, y = 15
Se você alterar os níveis de acesso de x e y para Particular, o compilador emitirá as mensagens de erro:
'Point.y' is inaccessible due to its protection level.
'Point.x' is inaccessible due to its protection level.
Especificação da linguagem C#
Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:
3.5.1 Acessibilidade declarado
3.5.3 Acesso protegido membros por exemplo
3.5.4 Acessibilidade restrições
10.3.5 Modificadores de acesso
Consulte também
Conceitos
Referência
Modificadores de acesso (referência C#)
Níveis de acessibilidade (referência C#)