Objektově Orientovaného návrhu v C++ s Kristoffer Hebert
Co jsou zapouzdření, dědičnost a polymorfismus?
zapouzdření
třída v objektově orientovaném designu je kontejner pro data a metody. Třídy používají zapouzdření ke správě přístupu k atributům, jako jsou metody a data, obsažené v sobě. V jazyce C++ je zapouzdření ve třídách dosaženo atributy jako: veřejné, soukromé, chráněné a statické. Atributy veřejné třídy jsou přístupné všude. Atributy soukromé třídy jsou přístupné pouze třídním metodám v sobě. Chráněné atributy jsou přístupné pro sebe a podřízené třídy sebe sama. Statické atributy jsou k dispozici pouze pro nadřazenou třídu, ale ne pro objekt vytvořený třídou.
dědičnost
dědičnost v objektově orientovaném návrhu popisuje vztah mezi rodičovskými třídami, když rozšiřují podřízené třídy. Extend znamená, že jedna třída přepíše atributy nebo zdědí atributy z jiné třídy. V uvedeném příkladu kódu můžete vidět, že podřízená Třída dědí každý atribut nadřazené třídy. Třída podřízených přepíše hodnotu firstName ve volání konstruktoru. To je, jak se dostanete jména, Tom Sawyer a Suzy Sawyer.
Třídy dědičnost příklad kódu
Polymorfismus
Polymorfismus popisuje jeden k mnoha třída vztah v Object Oriented design. Nadřazená třída může mít více podřízených tříd, které dědí a přepisují vlastnosti. Dopravní třída má dvě třídy, které ji rozšiřují, letadlo a Plachetnice, převyšující chráněné atributy a metodu showDetails.
klíče k zapamatování tříd
jsou kontejnery, které mají atributy nazývané data a metoda. Třídy používají zapouzdření ke správě přístupu k těmto atributům. V C++ lze atributy třídy spravovat pomocí privátních, statických, veřejných a chráněných modifikátorů atributů třídy. Třídy dědí atributy tříd, které rozšiřují. Třídy mohou navíc přepsat atributy tříd, které rozšiřují. Rodičovské třídy mohou mít více podřízených tříd.