9.1 Základní pojmy objektově orientovaného programování (pro laiky)

Základním pojmem OOP je objekt. Objekt je datová struktura s jasně definovanými metodami, jak s těmito daty zacházet. Každý objekt má určitou třídu. Třída (class) popisuje strukturu dat objektu, vztah k ostatním třídám objektů (v rámci dědičnosti) a to, jaké funkce (metody) se volají při práci s objektem. Dědičnost umožňuje vytvářet mezi objekty hierarchii předků a potomků, kde potomci dědí data a metody od svých předků, mohou je však modifikovat a přidávat k nim. Dědičnost vytváří hierarchii: potomci dědí vlastnosti a chování předků. Pokud potomek nemá implementovanou nějakou funkci, pak se použije funkce jeho předka.

Např. objekt třídy člověk může obsahovat datové položky jako jméno, příjmení, výšku, váhu apod. Pro třídu člověk mohou být definovány nějaké funkce (metody), např. funkce, která spočítá BMI. Objekt třídy manažer může být logicky svázán s objektem třídy člověk – obsahuje stejná data (může obsahovat i další, např. seznam podřízených). Stejně tak může využívat metody se stejnými jmény, které však mohou být implementovány odlišně. Logickou vazbu tříd člověk a manažer popisuje dědičnost: třída manažer je potomek třídy člověk.