Sdílet prostřednictvím


třídy (C#-Reference)

Třídy jsou deklarovány pomocí klíčového slova class, jak ukazuje následující příklad:

class TestClass
{
    // Methods, properties, fields, events, delegates 
    // and nested classes go here.
}

Poznámky

Na rozdíl od jazyka C++ je povolen pouze jeden dědičnosti v jazyce C#.Jinými slovy třída může zdědit provádění pouze jeden základní třídy.Třída však lze implementovat více rozhraní.Následující tabulka uvádí příklady dědičnost třídy a implementaci rozhraní:

Dědičnost

Příklad

Žádná

class ClassA { }

Jednoduché

class DerivedClass: BaseClass { }

Žádný, implementuje dvě rozhraní

class ImplClass: IFace1, IFace2 { }

Jeden implementuje jednoho rozhraní.

class ImplDerivedClass: BaseClass, IFace1 { }

Úrovně přístupu chráněné a soukromé jsou povoleny pouze na vnořené třídy.

Můžete také deklarovat obecný tříd, které mají parametry typu; Viz Generic třídy Další informace.

Třída může obsahovat prohlášení následující členy:

Příklad

Následující příklad ukazuje deklarující třída polí konstruktory a metod.Rovněž ukazuje vytvoření instance objektu a tisk dat instance.V tomto příkladu jsou deklarovány dvě třídy, Child třídy, která obsahuje dvě pole private (name a age) a dvě veřejné metody.Druhé třídy StringTest, obsahuje Main.

class Child
{
    private int age;
    private string name;

    // Default constructor:
    public Child()
    {
        name = "N/A";
    }

    // Constructor:
    public Child(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    // Printing method:
    public void PrintChild()
    {
        Console.WriteLine("{0}, {1} years old.", name, age);
    }
}

class StringTest
{
    static void Main()
    {
        // Create objects by using the new operator:
        Child child1 = new Child("Craig", 11);
        Child child2 = new Child("Sally", 10);

        // Create an object using the default constructor:
        Child child3 = new Child();

        // Display results:
        Console.Write("Child #1: ");
        child1.PrintChild();
        Console.Write("Child #2: ");
        child2.PrintChild();
        Console.Write("Child #3: ");
        child3.PrintChild();
    }
}
/* Output:
    Child #1: Craig, 11 years old.
    Child #2: Sally, 10 years old.
    Child #3: N/A, 0 years old.
*/

Komentáře

Oznámení v předchozím příkladu, který pole private (name a age) lze přistupovat pouze prostřednictvím veřejné metody Child třídy.Jméno dítěte, například nelze tisknout z Main metoda, pomocí příkazu, například takto:

Console.Write(child1.name);   // Error

Přístup k soukromým členové Child z Main by být možné pouze pokud Main byla členem třídy.

Typy deklarované uvnitř třídy bez Modifikátor přístupu výchozí private, takže členové data v tomto příkladu by stále private Pokud byly odebrány klíčové slovo.

Všimněte si, že pro objekt vytvořený pomocí výchozí konstruktor (child3), stáří pole byla inicializována na nulu jako výchozí.

Specifikace jazyka C#

Další informace naleznete 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#

Typy odkazů (C#-Reference)

Koncepty

Příručka programování C#

Další zdroje

C#-Reference