object oriented programming c
Úvod do objektově orientovaného programování v C ++.
S tímto tutoriálem začínáme řadu tutoriálů, abychom se dozvěděli o C ++ jako objektově orientovaném programovacím jazyce.
Jak víme, před objektově orientovaným programováním (OOP) byly programy psány pomocí procedurálních jazyků. Stresové funkce procedurálních jazyků. Větší problémy se člení na menší dílčí problémy a zapisují se jako funkce.
=> Prohlédněte si zde Úplný seznam výukových programů C ++.
Procedurální jazyky nevěnovaly pozornost údajům. Výsledkem bylo, že možnost neřešit problém efektivním způsobem byla vysoká. Protože data byla téměř zanedbávána, zabezpečení dat bylo snadno ohroženo.
Všechny tyto nevýhody procedurálního programování byly překonány objektově orientovaným programováním.
V tomto tutoriálu probereme základy objektově orientovaného programování a stručně všechny funkce OOP.
Co se naučíte:
- Objektově orientované programování v C ++
- Proč je C ++ částečný OOP?
- Funkce OOP
- Výhody OOP
- Závěr
- Doporučené čtení
Objektově orientované programování v C ++
Objektově orientované programování se točí kolem dat. Hlavní programovací jednotkou OOP je objekt. Objekt je reprezentací entity v reálném čase a skládá se z dat a metod nebo funkcí, které pracují s daty. Tímto způsobem jsou data a funkce úzce spojeny a je zajištěno zabezpečení dat.
V OOP je vše reprezentováno jako objekt a při provádění programů objekty vzájemně interagují předáváním zpráv. Objekt nemusí znát podrobnosti implementace jiného objektu pro komunikaci.
Kromě objektů OOP podporuje různé funkce, které jsou uvedeny níže:
- Třídy
- Zapouzdření
- Abstrakce
- Dědictví
- Polymorfismus
Pomocí OOP píšeme programy pomocí tříd a objektů pomocí výše uvedených funkcí. O programovacím jazyce se říká, že je skutečným objektově orientovaným programovacím jazykem, pokud vše, co představuje, používá objekt. Smalltalk je jeden jazyk, který je čistě objektově orientovaným programovacím jazykem.
Na druhou stranu se o programovacích jazycích jako C ++ a Java říká, že jsou částečnými objektově orientovanými programovacími jazyky.
Proč je C ++ částečný OOP?
Jazyk C ++ byl navržen s hlavním záměrem použít objektově orientované funkce jazyka C.
Přestože jazyk C ++ podporuje funkce OOP, jako jsou třídy, objekty, dědičnost, zapouzdření, abstrakce a polymorfismus, existuje několik důvodů, kvůli kterým je C ++ klasifikován jako částečný objektově orientovaný programovací jazyk.
nejlepší wow server pro nové hráče 2017
Níže uvádíme několik z těchto důvodů:
# 1) Vytvoření třídy / objektů je volitelné
V C ++ je hlavní funkce povinná a je vždy mimo třídu. Proto můžeme mít v programu pouze jednu hlavní funkci a můžeme se obejít bez tříd a objektů.
Toto je první narušení jazyka Pure OOP, kde je vše reprezentováno jako objekt.
# 2) Použití globálních proměnných
C ++ má koncept globálních proměnných, které jsou deklarovány mimo program a lze k nim přistupovat prostřednictvím jakékoli jiné entity programu. To porušuje zapouzdření. Ačkoli C ++ podporuje zapouzdření s ohledem na třídy a objekty, nestará se o něj v případě globálních proměnných.
# 3) Přítomnost funkce přítele
C ++ podporuje třídu nebo funkci přítele, kterou lze použít k přístupu k soukromým a chráněným členům jiných tříd tím, že se z nich stane přítel. Toto je další vlastnost jazyka C ++, která porušuje paradigma OOP.
Na závěr, ačkoli C ++ podporuje všechny výše uvedené funkce OOP, poskytuje také funkce, které mohou fungovat jako řešení těchto funkcí, abychom se bez nich mohli obejít. To dělá z C ++ částečný objektově orientovaný programovací jazyk.
Funkce OOP
Zde si představíme různé funkce OOP, které se používají pro programování.
Třídy a objekty
Objekt je základní jednotkou v objektově orientovaném programování. Objekt obsahuje data a metody nebo funkce, které s těmito daty pracují. Objekty zabírají místo v paměti.
Třída je naopak plánem objektu. Naopak objekt lze definovat jako instanci třídy. Třída obsahuje kostru objektu a nezabírá žádné místo v paměti.
Vezměme si Příklad objektu automobilu. Objekt automobilu s názvem „Maruti“ může obsahovat data, například barvu; značka, model, rychlostní limit atd. a funkce jako zrychlení. Definujeme další objekt „brod“. To může mít podobná data a funkce jako u předchozího objektu plus několik dalších dodatků.
Podobně můžeme mít četné objekty různých jmen, které mají podobná data a funkce a některé drobné variace.
Takže místo toho, abychom definovali tato podobná data a funkce v těchto různých objektech, definujeme plán těchto objektů, což je třída s názvem Car. Každý z výše uvedených objektů bude instancí tohoto vozu třídy.
Abstrakce
Abstrakce je proces skrývání irelevantních informací před uživatelem. Například , když řídíme auto, nejprve nastartujeme motor vložením klíče. Nejsme si vědomi procesu, který probíhá na pozadí při spouštění motoru.
Pomocí abstrakce v programování můžeme před uživatelem skrýt zbytečné podrobnosti. Použitím abstrakce v naší aplikaci není koncový uživatel ovlivněn, i když změníme interní implementaci.
Zapouzdření
Zapouzdření je proces, pomocí kterého jsou data a metody nebo funkce, které na nich fungují, spojeny dohromady. Tímto způsobem nejsou data snadno přístupná vnějšímu světu. V OOP dosáhneme zapouzdření tím, že datové členy uděláme jako soukromé a budeme mít veřejné funkce pro přístup k těmto datovým členům.
Dědictví
Použití dědičného objektu jedné třídy může zdědit nebo získat vlastnosti objektu jiné třídy. Dědičnost poskytuje opětovné použití kódu.
Jako takový můžeme navrhnout novou třídu získáním vlastností a funkčnosti jiné třídy a v tomto procesu nemusíme upravovat funkčnost nadřazené třídy. Do třídy přidáváme pouze nové funkce.
Polymorfismus
Polymorfismus znamená mnoho forem.
Polymorfismus je důležitou vlastností OOP a obvykle se implementuje jako přetížení operátora nebo přetížení funkce. Přetížení operátora je proces, při kterém se operátor chová odlišně v různých situacích. Podobně se při přetížení funkce chová stejná funkce v různých situacích odlišně.
Dynamická vazba
OOP podporuje dynamickou vazbu, ve které je volání funkce vyřešeno za běhu. To znamená, že o kódu, který má být proveden v důsledku volání funkce, se rozhoduje za běhu. Virtuální funkce jsou příkladem dynamické vazby.
Předávání zpráv
V OOP objekty vzájemně komunikují pomocí zpráv. Když objekty komunikují, informace se mezi objekty předávají tam a zpět. Zpráva se obvykle skládá z názvu objektu, názvu metody a skutečných dat, která se mají odeslat jinému objektu.
Výhody OOP
Pojďme diskutovat o některých výhodách OOP.
# 1) Opakovaná použitelnost
OOP umožňuje opětovné použití existujícího kódu prostřednictvím dědičnosti. Můžeme snadno získat stávající funkce a vylepšit je, aniž bychom museli znovu přepisovat kód. To má za následek méně nafouklý kód.
# 2) Modularita
Jak modulujeme program v OOP, je snadné ho upravit nebo vyřešit problém, pokud dojde k problému nebo bude přidána nová funkce nebo vylepšení. Modularizace také pomáhá při srozumitelnosti kódu a zvyšuje jeho čitelnost.
# 3) Flexibilita
OOP nám pomáhá s flexibilním programováním pomocí funkce polymorfismu. Protože polymorfismus má mnoho podob, můžeme mít operátory nebo funkce, které budou pracovat s mnoha objekty, a tak nám ušetří psaní různých funkcí pro každý objekt.
# 4) Udržovatelnost
Údržba kódu je jednodušší, protože je snadné přidávat nové třídy, objekty atd. Bez velké restrukturalizace nebo změn.
# 5) Skrytí dat a informací
OOP nám pomáhá při skrývání dat, čímž chrání informace před únikem. Skrytím vnitřních podrobností jsou uživateli vystavena pouze data, která jsou požadována pro bezproblémové fungování programu.
Závěr
OOP je nejdůležitější a flexibilní programovací paradigma moderního programování. Je zvláště užitečný při modelování problémů v reálném světě, a proto je velmi populární.
V tomto tutoriálu jsme diskutovali o různých funkcích OOP. Do budoucna budeme podrobně diskutovat o všech těchto funkcích.
techniky testování bílé skříňky s příklady
Další téma v této sérii „OOP s C ++“ se podrobně zaměří na třídy a objekty.
=> Klikněte sem a získejte Absolute C ++ Training Series.
Doporučené čtení
- OOP Java: Úvod do objektově orientovaného programování v Javě
- Datové typy C ++
- Top 10 Data Science Tools in 2021 to Eliminate Programming
- Abstrakce dat v C ++
- Úvod do datových struktur v C ++
- Výukový program pro Unix Pipes: Pipes v programování Unixu
- Výukový program QTP č. 8 - Další informace o režimech záznamu QTP, špionážních objektech a úložištích objektů
- 70+ NEJLEPŠÍCH C ++ návodů, jak se naučit programování v C ++ ZDARMA