Co je OOP?
Objektově orientované programování (OOP) je paradigma programování, ve kterém jsou programy psány a strukturovány spíše kolem objektů než funkcí nebo logiky. Zde jsou objekty definovány jako datová pole, která mají jedinečné atributy a chování. Obsahují data ve formě atributů a procedury ve formě metod. Procedury objektu mohou přistupovat a upravovat data přítomná v objektu.
Existuje mnoho jazyků OOP, z nichž nejoblíbenější jsou třídy, kde objekty budou instancí třídy. Třída je kontejner pro data a procedury, také známý jako datové členy a členské funkce. Uvažujme příklad objektu jako auto. Auto má atributy, jako je barva, název značky, kapacita paliva atd. A má metody znázorňující chování automobilu jako start, akcelerace, rozbití atd. Třída je plán atributů a metod a nezabírá prostor, dokud a pokud není vytvořen objekt pro tuto třídu.
Příklad :
class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)
Objektově orientované programovací cíle implementovat v programování, entity reálného světa jako dědičnost, polymorfismus, enkapsulace atd., Které uvidíme podrobně. Hlavním cílem OOP je kolektivní vazba dat a funkcí, které s nimi pracují, takže tato data jsou přístupná pouze touto funkcí.
Principy OOP
Čtyři hlavní principy objektově orientovaného programování jsou zapouzdření, abstrakce, dědičnost a polymorfismus.
1. Zapouzdření:
Vazba dat a metod do jedné jednotky se nazývá zapouzdření. Zapouzdření je provedeno, když každý objekt uvnitř třídy udržuje svůj stav v soukromí. Data uvnitř této jednotky nejsou přístupná vnějšími objekty a přístup k nim mají pouze funkce uvnitř této jednotky. Objekt tedy řídí svůj stav pomocí svých metod a pro komunikaci s tímto objektem budeme vyžadovat pomoc veřejných metod této třídy.
2. Abstrakce
Abstrakce je rozšíření zapouzdření. Znamená to poskytovat vnějšímu světu pouze nezbytné informace a zároveň skrývat vnitřní podrobnosti provádění. Odhalí pouze vhodné operace pro jiné objekty. Výhodou je to, že můžeme změnit implementaci bez ovlivnění třídy, protože rozhraní metody zůstává stejné.
Vezměme si příklad kalkulačky, která vezme vstup od nás, a po stisknutí tlačítka nám poskytne požadovaný výstup, zatímco nám ušetří vnitřní podrobnosti o tom, jak dospěla k této odpovědi.
3. Dědičnost
Často jsou objekty podobné ve funkčnosti, sdílejí část logiky, ale ve zbývající části se liší. Jak tedy znovu použít společnou logiku a oddělit odlišnou logiku? Toho lze dosáhnout dědičností. V dědičnosti vytváříme novou třídu nazvanou jako podřízená třída, která je odvozena od existující třídy zvané nadřazená třída, čímž tvoří hierarchii tříd. Podřízená třída znovu používá datová pole a metody, které vyžaduje od nadřazené třídy, a implementuje svou jedinečnou funkčnost sama o sobě.
Například vozidlo může být rodičovská třída, ze které můžeme odvodit dětské třídy jako Bike and Car. Sdílejí společné vlastnosti spočívající v tom, že mohou jezdit na palivo a přepravovat cestující, liší se však počtem cestujících, které mohou mít, a více takových vlastností.
4. Polymorfismus
Polymorfismus je schopnost nabývat více než jedné formy. Předpokládejme, že máme rodičovskou třídu a několik jejích podřízených tříd. Nyní chceme používat atributy jak z rodičovské, tak z podřízené třídy, jak tedy toho dosáhnout? Toho lze dosáhnout pomocí polymorfismu. V polymorfismu jsou abstraktní entity prováděny několika způsoby. Poskytuje způsob, jak konzumovat třídu přesně jako nadřazená třída, takže nedochází k záměně se směšováním typu tříd a každá podřízená třída si stále udržuje své metody tak, jak byla. To lze provést opakovaným použitím nadřazeného rozhraní, takže podřízená třída může implementovat tyto metody ve své vlastní verzi.
Výhody objektově orientovaného programování
- Myšlenka skutečného světa může být demonstrována, protože vše v OOP je považováno za objekt.
- Když používáme koncept zapouzdření, programy se snáze testují a udržují.
- Rychlejší vývoj kódu se provádí, protože třídy vyvíjíme paralelně místo postupně.
- OOP poskytuje větší zabezpečení díky abstrakci dat. Vnější svět nemá přístup ke skrytým datům.
- Opakovaného použití lze dosáhnout použitím již napsaných tříd.
Nevýhody objektově orientovaného programování
- Navrhování programu s konceptem OOP může být složité.
- Programátor musí předem naplánovat vývoj programu v OOP.
- Velikost programů vyvinutých pomocí OOP je větší než u programů vyvinutých s procedurálním přístupem.
- Protože jsou programy OOP větší, je doba provádění těchto programů také delší.
Jak mohou znalosti OOP pomoci při růstu kariéry?
Mnoho z hlavních trendových jazyků, jako je Java a Ruby, dnes používá objektově orientované programovací koncepty. Jazyky OOP pomáhají při psaní softwaru pro aplikace, jako jsou mobilní, webové a herní aplikace. V těchto oborech jsou vysoké výdělky, stejně jako nejlepší pracovní příležitosti pro programátory v těchto oborech. Díky základům OOP je snadné přejít na různé technologie a jazyky, což rozšiřuje naše vyhlídky na kariéru. Jednou z nevýhod v tom se stává odbornost. Společnosti obvykle hledají praktické zkušenosti s jazyky a koncepty OOP, proto se doporučuje trénovat v průběhu výuky.
Závěr
Objektově orientované programování pro nás zjednodušuje proces programování. Má mnoho hodnot, jako je opakovaná použitelnost, účinnost a údržba kódu. I když může být zpočátku obtížné pochopit koncepty OOP, ujišťuji vás, že ovoce bude stát za úsilí. Doufám, že tento článek vám pomohl tyto koncepty zjednodušit!
Doporučený článek
Toto byl průvodce Co je OOP? Zde jsme diskutovali koncepty, definice a principy s výhodami a nevýhodami OOP. Další informace naleznete také v dalších navrhovaných článcích -
- Je Hadoop Open Source?
- Co je dědičnost Java?
- Co je multithreading v C #?
- Co jsou ASP.Net webové služby?