Na čem je založeno OOP
Objekty mezi sebou komunikují
Objekt je čím
Instance třídy
Objekt popis
Datový prvek, který je vytvořen pomocí vlastností třídy
Co má objekt
Členská data (vlastnosti) a členské metody (schopnosti)
Objekt je něco jako co
Něco jako proměnná (zabírá místo v paměti)
Čím je objekt tvořen?
Množinou dat a množinou přesně stanovených operací, které můžeme s daty provádět
Popiš vlastnosti objektu
Láhev je prázdná - prázdná je vlastnosti
Je objekt konkrétní?
Ano
Je třída konkrétní?
Ne, ne abstraktní, nezabírá místo v paměti
Třída je něco jako co?
Datový typ
Co obsabuje třída?
Určitá data (vnitřní, interní data) a metody
Jaké metody mají třídy
Procedury a funkce
Základní vlastnosti OOP
Encapsulation, inheritance
Encapsulation
=zapouzdření
spojení dat a metod v jeden celek, určují se přístupová práva
-co je private (soukromé), public (veřejné), protective (chráněné)
-přímý přístup je zakázaný, můžu s nimi pracovat jen přes metody
Co je inheritance
= Dědičnost
umožňuje přidat k rodičovské (bázové, základní) třídě další vlastnosti
-můžeme modifikovat a vytvořit novou odvozenou podtřídu (potomka)
-podtřída čerpá ze základnějších
-každá vytvořená podtřída je konkrétnější
Typy dědičnosti
Jednoduchá, vícenásobná, opakovaná
Vztah mezi dědičností a kompozicí (skládáním)?
-kompozice = vytvoření třídy pomocí objektů jiných tříd
-student je osoba (dědičnost), student má datum narození (kompozice)
Polymofrmismus
-stejnými metodami v rámci dědičnosti mohu zpracovávat různé objekty různých tříd
-neplatí pro různé objekty stejné třídy