Obsah

Objektově orientované programování (OOP)

Objektově orientované programování je programovací paradigma založené na konceptu „objektů“, které mohou obsahovat data (ve formě polí či atributů) a kód (ve formě procedur neboli metod). OOP pomáhá zpřehlednit vývoj velkých systémů, usnadňuje znovupoužitelnost kódu a jeho údržbu.

1. Třída vs. Objekt

Pro pochopení OOP je zásadní rozdíl mezi těmito dvěma pojmy:

2. Čtyři pilíře OOP

Aby byl jazyk považován za skutečně objektový, musí podporovat tyto čtyři principy:

A. Zapouzdření (Encapsulation)

Skrývání vnitřního stavu objektu před vnějším světem. Přístup k datům je umožněn pouze přes veřejné metody (gettery a settery).

B. Abstrakce (Abstraction)

Zjednodušení komplexní reality tím, že modelujeme pouze ty aspekty, které jsou pro náš program důležité.

C. Dědičnost (Inheritance)

Umožňuje vytvářet nové třídy na základě již existujících. Potomek přebírá (dědí) vlastnosti a metody rodiče a může přidávat vlastní.

D. Polymorfismus (Mnohotvárnost)

Schopnost různých objektů reagovat na stejné volání metody různým způsobem.

—

3. Další klíčové pojmy

—

4. Výhody a nevýhody OOP

Výhody Nevýhody
Modularita: Snazší řešení chyb v izolovaných objektech. Komplexita: Pro velmi malé programy může být OOP zbytečně složité.
Znovupoužitelnost: Jednou napsanou třídu lze použít v mnoha projektech. Výkon: Režie spojená s objekty může mírně zpomalit běh (v porovnání s C).
Rozšiřitelnost: Snadné přidávání nových funkcí pomocí dědičnosti. Paměťová náročnost: Objekty zabírají v paměti více místa než prostá data.

—

5. Jazyky podporující OOP

Dnes téměř každý moderní jazyk podporuje OOP, i když v různé míře:


Související články:

Tagy: dev oop programming software_engineering inheritance polymorphism encapsulation