Základní pojmy

OOP

SSŠVT


Základní pojmy OOP

V OOP se setkáme především s těmito pojmy:

Nejdůležitějším pojmem je třída (někdy též typ), dále pak instance (někdy objekt).

V reálném světě máme individua z nějakého univerza. Individuum je např. můj kamarád Petr, individuem jsem já sám, individuum je moje auto, individuum je mrak na obloze, který pozoruji apod. Jsou to konkrétní objekty, konkrétní bytosti ve světě, ve kterém žijeme. Individua s podobnou sadou charakteristik patří do jedné společné množiny.

Množiny individuí tvoří hierarchii. To znamená, že například množina lidí i množina psů jsou podmnožinami množiny savců. Nebo např. množina nákladních automobilů je podmnožinou množiny (všech) automobilů. Množina automobilů i množina savců jsou obě podmnožinami celého univerza.

V OOP v našem programu jsou individua z reálného světa reprezentována (modelována) instancemi (objekty), kdežto množiny individuí odpovídají v programu třídám. Třída charakterizuje množinu svých instancí, objektů s datovým typem daným touto třídou.

Individua v reálném světě nějak vypadají, např. Petr má modré oči, moje Octavia má dieselový motor s obsahem válců 2 000 cm3.

Třídy v našem programu definují vlastnosti (vlastnost, angl. property) a instance tříd (konkrétní objekty) mají v každé vlastnosti nějakou hodnotu. Hodnoty vlastností jsou tedy data daného objektu, určují, jak objekt "vypadá". Mezi vlastnosti řadíme i podstatné vlastnosti, které mohou u objektu sloužit k jeho identifikaci a odlišení od ostatních objektů téže třídy. Např. Petr s rodným číslem 920312/9470 a Alena s rodným číslem 016120/0409 mohou mít oba modré oči, ale tím, že jsou to různí lidé, máme zaručeno, že mají různá rodná čísla. Rodné číslo je podstatná vlastnost, kterou můžeme jedno individuum odlišit od jiného z téže množiny.

Příklad použití vlastností u třídy Person (osoba):

public class Person
{
    public string Name { get; set; }
    public int BirthNumber { get; set; }
    public Color EyesColor { get; set; }
}

public class Program
{
    static void Main(string[] args)
    {
        Person petr = new Person { Name = "Petr", BirthNumber = 9203129470, EyesColor = Color.Blue };
        Person alena = new Person { Name = "Alena", BirthNumber = 0161200409, EyesColor = Color.Blue };

        Console.WriteLine("{0} has {1} eyes.", petr.Name, petr.EyesColor);
        Console.WriteLine("{0} has {1} eyes.", alena.Name, alena.EyesColor);
    }
}
        

A konečně individua v reálném světě mají nějaké schopnosti, umí něco dělat.

Činnostem, které individua v reálném světě dělají, odpovídají v OOP v programu metody.