This article is currently in the process of being translated into Czech (~56% done).
Úvod do C# tříd
Ve spoustě programovacích výukových programů budou informace o třídách zmíněny mnohem později. Nicméně, jelikož v C# je vše o objektově orientovaném programovaní a tím o třídách, podíváme se na základní úvod k nejdůležitějším funkcím.
First of all, a class is a group of related methods and variables. A class describes these things, and in most cases, you create an instance of this class, now referred to as an object. On this object, you use the defined methods and variables. Of course, you can create as many instances of your class as you want to. Classes, and Object Oriented programming in general, is a huge topic. We will cover some of it in this chapter as well as in later chapters, but not all of it.
V kapitole "Hello World" jsme poprvé viděli použití třídy, protože vše v C# je postaveno na třídách. Rozšiřme si naši aplikaci "Hello World" třídou, kterou sami vytvoříme:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Car car;
car = new Car("Red");
Console.WriteLine(car.Describe());
car = new Car("Green");
Console.WriteLine(car.Describe());
Console.ReadLine();
}
}
class Car
{
private string color;
public Car(string color)
{
this.color = color;
}
public string Describe()
{
return "This car is " + Color;
}
public string Color
{
get { return color; }
set { color = value; }
}
}
}
Máme tu spoustu nového, většina je však založena na věcech, které jsme již použili dříve v tomto tutoriálu. Jak můžete vidět, definovali jsme novou třídu zvanou "Car" (pro přehlednost je definována ve stejném souboru jako naše hlavní aplikace, obvykle však bývají nové třídy samostatně ve svých vlastních souborech). Ta definuje jednu proměnnou, zvanou "color", která nám samozřejmě říká barvu auta. Deklarovali jsme ji jako private, což je dobré jako procvičení - přístup k proměnným zvenčí by měl být prováděn přes vlastnosti (property). Vlastnost "Color" je definována na konci třídy, čímž dává přístup k proměnné "color".
Kromě toho, naše třída "Car" definuje konstruktor. Ten nese parametr, který nám umožňuje inicializovat (vyvolávat) objekty třídy Car s barvou. Dokud zde bude pouze jeden konstruktor, Objekty třídy Car mohou být znázorňovány pouze barvou. Describe() metoda nám umožňuje získat hezkou zprávu s jediným kouskem informace, který jsme o našem autě nahráli. Jednoduše to vrací string s informacemi, které jsme poskytli.
Now, in our main application, we declare a variable of the type Car. After that, we create a new instance of it, with "Red" as a parameter. According to the code of our class, this means that the color red will be assigned as the color of the car. To verify this, we call the Describe() method, and to show how easily we can create several instances of the same class, we do it again, but with another color. We have just created our first functional class and used it.
V následujících kapitolách budou podrobněji vysvětleny pojmy jako: vlastnosti, konstruktory a viditelnost.