Úvod do OOP v C++
Co je to objektově orientované programování?
Objektově orientované programování je paradigma, které používá „objekty“ – datové struktury obsahující data ve formě polí, často známých jako atributy; a kód ve formě procedur, známých jako metody.
OOP se zaměřuje na organizaci softwaru jako sady objektů, které interagují mezi sebou, což usnadňuje modularitu, znovupoužitelnost kódu a udržování.
Proč používat OOP?
- modularita – jednotlivé objekty mohou být nezávisle vyvíjeny a testovány, což zjednodušuje správu velkých aplikací
- znovupoužitelnost – objekty a třídy mohou být znovu použity v různých programech
- snadné udržování – změny v jedné části programu mají menší vliv na ostatní části díky zapouzdření
- rozšiřitelnost – nové funkcionality lze snadno přidat prostřednictvím dědičnosti a polymorfismu
Základní terminologie
- třída – definice, která specifikuje atributy a metody, které budou mít objekty, třída funguje jako šablona pro vytváření objektů
- objekt – instance třídy, objekt má stav (data, atributy) a chování (akce, metody)
- atribut (vlastnost) – proměnná uvnitř třídy, která drží data nebo stavy týkající se objektu
- metoda (funkce) – funkce definovaná v třídě, která může manipulovat s atributy objektu nebo provádět operace související s objektem
- dědičnost – schopnost třídy dědit atributy a metody jiné třídy, umožňuje znovupoužití kódu.
- polymorfismus – koncept, který umožňuje použití jedné rozhraní pro různé datové typy, metody mohou být přetíženy nebo přepsány
- zapouzdření – omezení přístupu k některým komponentám objektu a ochrana jeho interního stavu
Příklad
#include <iostream>
using namespace std;
class Auto {
private:
string znacka;
int rokVyroby;
public:
Auto(string znacka, int rokVyroby) {
this->znacka = znacka;
this->rokVyroby = rokVyroby;
}
void zobrazInfo() {
cout << "Značka: " << znacka << ", Rok výroby: " << rokVyroby << endl;
}
};
int main() {
Auto mojeAuto("Škoda", 2022);
mojeAuto.zobrazInfo();
return 0;
}
Zdroje
Seznam zdrojů
itnetwork.cz. Online. Dostupné z: https://www.itnetwork.cz/.
w3schools.com. Online. Dostupné z: https://www.w3schools.com/.
Python 3 documentation. Online. Dostupné z: https://docs.python.org/3/
SMOLKA, Pavel. Programovací jazyk Python [online]. Mendelova univerzita v Brně, 2019. Dostupné z: https://emendelu.publi.cz/book/771-programovaci-jazyk-python-pruvodce-studiem
ŠVEC, Jan. Učebnice jazyka Python (aneb Létající cirkus) [online]. 2002. Dostupné z: https://i.iinfo.cz/files/root/k/Ucebnice_jazyka_Python.pdf
PILGRIM, Mark. Ponořme se do Python(u) 3: Dive into Python 3. CZ.NIC. Praha: CZ.NIC, c2010. ISBN 978-80-904248-2-1.
PECINOVSKÝ, Rudolf. Python: kompletní příručka jazyka pro verzi 3.11. Knihovna programátora (Grada). Praha: Grada Publishing, 2023. ISBN 978-80-271-3891-3.
Další zdroje (Youtube, obrázky) jsou vždy uvedeny.
