Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Deklarujte třídy pomocí klíčového class slova, jak je znázorněno v následujícím příkladu:
class TestClass
{
// Methods, properties, fields, events, delegates
// and nested classes go here.
}
Jazyk C# podporuje pouze jednu dědičnost. Jinými slovy, třída může dědit implementaci pouze z jedné základní třídy. Třída však může implementovat více než jedno rozhraní.
Referenční dokumentace jazyka C# dokumentuje naposledy vydané verze jazyka C#. Obsahuje také počáteční dokumentaci k funkcím ve verzi Public Preview pro nadcházející jazykovou verzi.
Dokumentace identifikuje všechny funkce, které byly poprvé představeny v posledních třech verzích jazyka nebo v aktuálních verzích Public Preview.
Návod
Informace o tom, kdy byla funkce poprvé představena v jazyce C#, najdete v článku o historii verzí jazyka C#.
Další informace o třídách, rozhraních a dědičnosti najdete v článku o dědičnosti v části Základy.
Třídy můžete deklarovat přímo v rámci oboru názvů. Tyto třídy vnořujte do jiných tříd. Tyto třídy můžete nastavit buď public nebo internal. Ve výchozím nastavení jsou internaltřídy .
Můžete deklarovat členy třídy, včetně vnořených tříd, jako public, protected internal, protected, internal, , privatenebo private protected. Ve výchozím nastavení jsou privatečleny .
Další informace naleznete v tématu Přístupové modifikátory.
Můžete deklarovat obecné třídy, které mají parametry typu. Další informace naleznete v tématu Obecné třídy.
Třída může obsahovat deklarace následujících členů:
- konstruktory
- Konstanty
- Pole
- Finalizátory
- Metody
- Vlastnosti
- Indexery
- Operátoři
- Události
- delegáti
- Třídy
- Rozhraní
- typy struktury
- Typy výčtů
Příklad
Následující příklad ukazuje deklarování polí třídy, konstruktorů a metod. Ukazuje také vytváření instancí objektů a tisk dat instance. V tomto příkladu jsou deklarovány dvě třídy. První třída obsahuje Childdvě soukromá pole (name a age), dva veřejné konstruktory a jednu veřejnou metodu. Druhá třída , StringTestobsahuje 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
K privátním polím (name a age) můžete přistupovat pouze prostřednictvím veřejné metody Child třídy. Nemůžete například vytisknout jméno dítěte z Main metody pomocí příkazu, jako je tento:
Console.Write(child1.name); // Error
Přístup k soukromým členům Child z Main je možný pouze v případě, že Main je členem třídy. Typy deklarované uvnitř třídy bez modifikátoru přístupu jsou výchozí private, takže datové členy v tomto příkladu jsou stále private , pokud je klíčové slovo odebráno. Nakonec pro objekt vytvořený pomocí konstruktoru bez parametrů (child3), age je pole inicializováno na nulu ve výchozím nastavení.
Specifikace jazyka C#
Další informace najdete ve specifikaci jazyka C#. Specifikace jazyka je konečným zdrojem syntaxe a použití jazyka C#.