object oriented programming c
Úvod do objektovo orientovaného programovania v C ++.
V tomto tutoriáli začíname sériu tutoriálov, ktoré sa učia o C ++ ako objektovo orientovanom programovacom jazyku.
Ako vieme, pred objektovo orientovaným programovaním (OOP) sa programy písali pomocou procedurálnych jazykov. Procedurálne jazyky stresové funkcie. Väčšie problémy sú rozdelené na menšie čiastkové problémy a zapísané ako funkcie.
=> Ak chcete preskúmať celý zoznam výukových programov C ++, prečítajte si tu.
Procedurálne jazyky nevenovali pozornosť údajom. Vo výsledku bola vysoká pravdepodobnosť neriešenia problému. Pretože boli údaje takmer zanedbávané, bezpečnosť údajov bola ľahko ohrozená.
Všetky tieto nevýhody procedurálneho programovania boli prekonané objektovo orientovaným programovaním.
V tomto tutoriáli sa budeme venovať základom objektovo orientovaného programovania a v skratke všetkým funkciám OOP.
Čo sa dozviete:
- Objektovo orientované programovanie v C ++
- Prečo je C ++ čiastočný OOP?
- Funkcie OOP
- Výhody OOP
- Záver
- Odporúčané čítanie
Objektovo orientované programovanie v C ++
Objektovo orientované programovanie sa točí okolo údajov. Hlavnou programovacou jednotkou OOP je objekt. Objekt je reprezentáciou entity v reálnom čase a pozostáva z údajov a metód alebo funkcií, ktoré pracujú s údajmi. Týmto spôsobom sú údaje a funkcie úzko spojené a je zaistená bezpečnosť údajov.
V OOP je všetko predstavované ako objekt a pri vykonávaní programov objekty navzájom interagujú odovzdávaním správ. Objekt nemusí poznať implementačné podrobnosti iného objektu na komunikáciu.
Okrem objektov OOP podporuje rôzne funkcie, ktoré sú uvedené nižšie:
- Triedy
- Zapuzdrenie
- Abstrakcia
- Dedenie
- Polymorfizmus
Pomocou OOP píšeme programy pomocou tried a objektov pomocou vyššie uvedených funkcií. O programovacom jazyku sa hovorí, že je skutočným objektovo orientovaným programovacím jazykom, ak všetko, čo predstavuje, používa objekt. Smalltalk je jeden jazyk, ktorý je čisto objektovo orientovaným programovacím jazykom.
Na druhej strane sa o programovacích jazykoch ako C ++ a Java hovorí o čiastočných objektovo orientovaných programovacích jazykoch.
Prečo je C ++ čiastočný OOP?
Jazyk C ++ bol navrhnutý s hlavným zámerom využiť objektovo orientované funkcie v jazyku C.
Aj keď jazyk C ++ podporuje funkcie OOP, ako sú triedy, objekty, dedenie, zapuzdrenie, abstrakcia a polymorfizmus, existuje niekoľko dôvodov, pre ktoré je jazyk C ++ klasifikovaný ako čiastočný objektovo orientovaný programovací jazyk.
rozdiel medzi presmerovaním portov a spustením
Ďalej uvádzame niekoľko z týchto dôvodov:
# 1) Vytvorenie triedy / objektov je voliteľné
V C ++ je hlavná funkcia povinná a je vždy mimo triedy. Preto môžeme mať v programe iba jednu hlavnú funkciu a zaobídeme sa bez tried a objektov.
Toto je prvé porušenie jazyka Pure OOP, kde je všetko predstavované ako objekt.
# 2) Použitie globálnych premenných
C ++ má koncept globálnych premenných, ktoré sú deklarované mimo program a je k nim prístup z ktorejkoľvek inej entity programu. To porušuje zapuzdrenie. Hoci jazyk C ++ podporuje zapuzdrenie, pokiaľ ide o triedy a objekty, v prípade globálnych premenných sa oň nestará.
# 3) Prítomnosť funkcie priateľa
C ++ podporuje triedu alebo funkciu priateľa, ktorú je možné použiť na prístup k súkromným a chráneným členom iných tried tým, že sa z nich stane priateľ. Toto je ďalšia vlastnosť jazyka C ++, ktorá porušuje paradigmu OOP.
Na záver možno povedať, že hoci C ++ podporuje všetky vyššie spomenuté funkcie OOP, poskytuje aj funkcie, ktoré môžu slúžiť ako riešenie týchto funkcií, aby sme sa bez nich zaobišli. Toto robí z C ++ čiastočný objektovo orientovaný programovací jazyk.
Funkcie OOP
Tu si predstavíme rôzne funkcie OOP, ktoré sa používajú na programovanie.
Triedy a objekty
Objekt je základnou jednotkou v objektovo orientovanom programovaní. Objekt obsahuje údaje a metódy alebo funkcie, ktoré s týmito údajmi pracujú. Objekty zaberajú miesto v pamäti.
Trieda je na druhej strane modrotlač objektu. Naopak, objekt možno definovať ako inštanciu triedy. Trieda obsahuje kostru objektu a nezaberá žiadne miesto v pamäti.
Zoberme si Príklad predmetu automobilu. Objekt automobilu s názvom „Maruti“ môže obsahovať údaje, napríklad farbu; značka, model, rýchlostný limit atď. a funkcie ako zrýchliť. Definujeme ďalší objekt „brod“. Môže obsahovať podobné údaje a funkcie ako predchádzajúci objekt a niekoľko ďalších doplnkov.
Podobne môžeme mať množstvo objektov rôznych mien, ktoré majú podobné údaje a funkcie a majú menšie variácie.
Namiesto definovania týchto podobných údajov a funkcií v týchto rôznych objektoch teda definujeme podrobný plán týchto objektov, čo je trieda s názvom Car. Každý z vyššie uvedených objektov bude inštanciami tohto vozidla triedy.
Abstrakcia
Abstrakcia je proces skrývania nepodstatných informácií pred používateľom. Napríklad , keď riadime auto, najskôr naštartujeme motor vložením kľúča. Nie sme si vedomí procesu, ktorý prebieha na pozadí štartovania motora.
Použitím abstrakcie v programovaní dokážeme pred používateľom skryť nepotrebné podrobnosti. Použitím abstrakcie v našej aplikácii nie je ovplyvnený koncový používateľ, aj keď zmeníme internú implementáciu.
Zapuzdrenie
Zapuzdrenie je proces, pomocou ktorého sa údaje a metódy alebo funkcie na nich pracujúce zoskupujú. Týmto spôsobom nie sú údaje ľahko prístupné vonkajšiemu svetu. V OOP dosiahneme zapuzdrenie tým, že dátové členy urobíme súkromnými a budeme mať verejné funkcie na prístup k týmto dátovým členom.
Dedenie
Použitím dedičného objektu jednej triedy môžete dediť alebo získať vlastnosti objektu inej triedy. Dedičnosť poskytuje opätovné použitie kódu.
Ako taký môžeme navrhnúť novú triedu získaním vlastností a funkčnosti inej triedy a v tomto procese nemusíme upravovať funkčnosť nadradenej triedy. Do triedy pridávame iba nové funkcie.
Polymorfizmus
Polymorfizmus znamená veľa podôb.
Polymorfizmus je dôležitou vlastnosťou OOP a zvyčajne sa implementuje ako preťaženie operátora alebo preťaženie funkcie. Preťaženie operátora je proces, pri ktorom sa operátor v rôznych situáciách správa odlišne. Podobne sa pri preťažení funkcií rovnaká funkcia správa odlišne v rôznych situáciách.
Dynamická väzba
OOP podporuje dynamické viazanie, pri ktorom je volanie funkcií riešené za behu. To znamená, že o kóde, ktorý sa má vykonať v dôsledku volania funkcie, sa rozhoduje za behu programu. Virtuálne funkcie sú príkladom dynamickej väzby.
Prebieha odosielanie správ
V OOP objekty medzi sebou komunikujú pomocou správ. Keď objekty komunikujú, informácie sa prenášajú tam a späť medzi objektmi. Správa sa obvykle skladá z názvu objektu, názvu metódy a skutočných údajov, ktoré sa majú odoslať do iného objektu.
Výhody OOP
Poďme diskutovať o niektorých výhodách OOP.
# 1) Opätovná použiteľnosť
OOP umožňuje opätovné použitie existujúceho kódu prostredníctvom dedičstva. Môžeme ľahko získať existujúcu funkcionalitu a vylepšiť ju bez toho, aby sme museli kód znova prepisovať. Výsledkom je menej nafúknutý kód.
aký je najlepší softvér na odstránenie škodlivého softvéru
# 2) Modularita
Keď modulujeme program v OOP, je ľahké ho upraviť alebo vyriešiť, ak dôjde k problému alebo k pridaniu novej funkcie alebo vylepšenia. Modularizácia tiež pomáha pri čistote kódu a zvyšuje jeho čitateľnosť.
# 3) Flexibilita
OOP nám pomáha s flexibilným programovaním pomocou funkcie polymorfizmu. Pretože polymorfizmus má mnoho podôb, môžeme mať operátory alebo funkcie, ktoré budú pracovať s mnohými objektmi, a tak nás ušetria od písania rôznych funkcií pre každý objekt.
# 4) Udržateľnosť
Údržba kódu je jednoduchšia, pretože je ľahké pridávať nové triedy, objekty atď. Bez väčšej reštrukturalizácie alebo zmien.
# 5) Skrývanie údajov a informácií
OOP nám pomáha pri skrývaní údajov, čím chráni informácie pred únikom. Skrytím vnútorných detailov sú používateľovi vystavené iba údaje potrebné na bezproblémové fungovanie programu.
Záver
OOP je najdôležitejšia a najpružnejšia paradigma programovania moderného programovania. Je obzvlášť užitočný pri modelovaní problémov v reálnom svete, a preto je veľmi populárny.
V tomto tutoriáli sme diskutovali o rôznych vlastnostiach OOP. Ďalej budeme podrobne diskutovať o všetkých týchto vlastnostiach.
Ďalšia téma v tejto sérii „OOP s C ++“ sa zameria podrobne na triedy a objekty.
=> Kliknutím sem zobrazíte sériu školení Absolute C ++.
Odporúčané čítanie
- OOP Java: Úvod do objektovo orientovaného programovania v Jave
- Dátové typy C ++
- Top 10 Data Science Tools in 2021 to Eliminate Programming
- Abstrakcia dát v C ++
- Úvod do dátových štruktúr v C ++
- Výukový program pre Unix Pipes: Rúry v programovaní v Unixe
- Výukový program QTP č. 8 - Dozviete sa viac o režimoch nahrávania QTP, sledovaní objektov a úložiskách objektov
- 70+ NAJLEPŠÍCH tutoriálov pre C ++ Naučte sa programovanie v C ++ ZDARMA