Sdílet prostřednictvím


protected (Referenční dokumentace jazyka C#)

protected Klíčové slovo je modifikátor přístupu člena.Chráněný člen je přístupná v rámci své třídy a instance odvozených tříd.Srovnání protected s jinými modifikátory přístupu, viz Usnadnění úrovně.

Příklad

Chráněný člen základní třídy je přístupný v odvozené třídě, pouze pokud dojde k přístupu prostřednictvím typu odvozené třídy.Zvažte například následující kód segmentu:

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;
    }
}

Příkaz a.x = 10 vygeneruje chybu, protože je provedeno v rámci statické metody hlavní a není instancí třídy B.

Struktura členy nemohou být chráněny, protože struktura nelze dědit.

V tomto příkladu třídy DerivedPoint je odvozen od Point.Chráněné členy základní třídy, proto můžete přistupovat přímo z odvozené třídy.

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

Při změně úrovně přístupu x a y na soukromé, kompilátor bude vydávat chybové zprávy:

'Point.y' is inaccessible due to its protection level.

'Point.x' is inaccessible due to its protection level.

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

Modifikátory přístupu (Referenční dokumentace jazyka C#)

Úrovně přístupnosti (Referenční dokumentace jazyka C#)

Modifikátory (Referenční dokumentace jazyka C#)

public (Referenční dokumentace jazyka C#)

private (Referenční dokumentace jazyka C#)

internal (Referenční dokumentace jazyka C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#